Merge staging into staging-next
This commit is contained in:
commit
6d35919fcb
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -43,7 +43,7 @@ See the nixpkgs manual for more details on [standard meta-attributes](https://ni
|
||||
|
||||
## Writing good commit messages
|
||||
|
||||
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list archives, pull request discussions or upstream changes, it may require a lot of work.
|
||||
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
|
||||
|
||||
For package version upgrades and such a one-line commit message is usually sufficient.
|
||||
|
||||
|
@ -38,5 +38,4 @@ For pull-requests, please rebase onto nixpkgs `master`.
|
||||
Communication:
|
||||
|
||||
* [Discourse Forum](https://discourse.nixos.org/)
|
||||
* [Mailing list](https://groups.google.com/forum/#!forum/nix-devel)
|
||||
* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)
|
||||
|
@ -605,10 +605,11 @@ policy.
|
||||
-->
|
||||
|
||||
<para>
|
||||
In a case a contributor leaves definitively the Nix community, he should
|
||||
create an issue or notify the mailing list with references of packages and
|
||||
modules he maintains so the maintainership can be taken over by other
|
||||
contributors.
|
||||
In a case a contributor leaves definitively the Nix community, he
|
||||
should create an issue or post on <link
|
||||
xlink:href="https://discourse.nixos.org">Discourse</link> with
|
||||
references of packages and modules he maintains so the
|
||||
maintainership can be taken over by other contributors.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -44,5 +44,5 @@ in rec {
|
||||
openbsd = filterDoubles predicates.isOpenBSD;
|
||||
unix = filterDoubles predicates.isUnix;
|
||||
|
||||
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
|
||||
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"];
|
||||
}
|
||||
|
@ -8,6 +8,14 @@ rec {
|
||||
#
|
||||
# Linux
|
||||
#
|
||||
powernv = {
|
||||
config = "powerpc64le-unknown-linux-gnu";
|
||||
platform = platforms.powernv;
|
||||
};
|
||||
musl-power = {
|
||||
config = "powerpc64le-unknown-linux-musl";
|
||||
platform = platforms.powernv;
|
||||
};
|
||||
|
||||
sheevaplug = rec {
|
||||
config = "armv5tel-unknown-linux-gnueabi";
|
||||
|
@ -11,6 +11,7 @@ rec {
|
||||
isi686 = { cpu = cpuTypes.i686; };
|
||||
isx86_64 = { cpu = cpuTypes.x86_64; };
|
||||
isPowerPC = { cpu = cpuTypes.powerpc; };
|
||||
isPower = { cpu = { family = "power"; }; };
|
||||
isx86 = { cpu = { family = "x86"; }; };
|
||||
isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
|
||||
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
||||
|
@ -90,6 +90,8 @@ rec {
|
||||
mips64el = { bits = 64; significantByte = littleEndian; family = "mips"; };
|
||||
|
||||
powerpc = { bits = 32; significantByte = bigEndian; family = "power"; };
|
||||
powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; };
|
||||
powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
|
||||
|
||||
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
||||
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
||||
|
@ -20,6 +20,22 @@ rec {
|
||||
kernelAutoModules = false;
|
||||
};
|
||||
|
||||
powernv = {
|
||||
name = "PowerNV";
|
||||
kernelArch = "powerpc";
|
||||
kernelBaseConfig = "powernv_defconfig";
|
||||
kernelTarget = "zImage";
|
||||
kernelInstallTarget = "install";
|
||||
kernelFile = "vmlinux";
|
||||
kernelAutoModules = true;
|
||||
# avoid driver/FS trouble arising from unusual page size
|
||||
kernelExtraConfig = ''
|
||||
PPC_64K_PAGES n
|
||||
PPC_4K_PAGES y
|
||||
IPV6 y
|
||||
'';
|
||||
};
|
||||
|
||||
##
|
||||
## ARM
|
||||
##
|
||||
@ -458,5 +474,6 @@ rec {
|
||||
"armv7l-linux" = armv7l-hf-multiplatform;
|
||||
"aarch64-linux" = aarch64-multiplatform;
|
||||
"mipsel-linux" = fuloong2f_n32;
|
||||
"powerpc64le-linux" = powernv;
|
||||
}.${system} or pcBase;
|
||||
}
|
||||
|
@ -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";
|
||||
@ -1965,6 +1970,11 @@
|
||||
github = "jpotier";
|
||||
name = "Martin Potier";
|
||||
};
|
||||
jqueiroz = {
|
||||
email = "nixos@johnjq.com";
|
||||
github = "jqueiroz";
|
||||
name = "Jonathan Queiroz";
|
||||
};
|
||||
jraygauthier = {
|
||||
email = "jraygauthier@gmail.com";
|
||||
github = "jraygauthier";
|
||||
@ -3873,6 +3883,11 @@
|
||||
github = "swarren83";
|
||||
name = "Shawn Warren";
|
||||
};
|
||||
swdunlop = {
|
||||
email = "swdunlop@gmail.com";
|
||||
github = "swdunlop";
|
||||
name = "Scott W. Dunlop";
|
||||
};
|
||||
swflint = {
|
||||
email = "swflint@flintfam.org";
|
||||
github = "swflint";
|
||||
|
@ -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>
|
||||
|
@ -17,8 +17,8 @@
|
||||
<para>
|
||||
If you encounter problems, please report them on the
|
||||
<literal
|
||||
xlink:href="https://groups.google.com/forum/#!forum/nix-devel">nix-devel</literal>
|
||||
mailing list or on the <link
|
||||
xlink:href="https://discourse.nixos.org">Discourse</literal>
|
||||
or on the <link
|
||||
xlink:href="irc://irc.freenode.net/#nixos">
|
||||
<literal>#nixos</literal> channel on Freenode</link>. Bugs should be
|
||||
reported in
|
||||
|
@ -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 =
|
||||
''
|
||||
|
@ -524,6 +524,8 @@ in {
|
||||
utmp.gid = ids.gids.utmp;
|
||||
adm.gid = ids.gids.adm;
|
||||
input.gid = ids.gids.input;
|
||||
kvm.gid = ids.gids.kvm;
|
||||
render.gid = ids.gids.render;
|
||||
};
|
||||
|
||||
system.activationScripts.users = stringAfter [ "stdio" ]
|
||||
|
@ -318,7 +318,7 @@ in
|
||||
options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ];
|
||||
};
|
||||
|
||||
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" "uas" ];
|
||||
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "uas" ];
|
||||
|
||||
boot.blacklistedKernelModules = [ "nouveau" ];
|
||||
|
||||
|
@ -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,6 @@ with lib;
|
||||
++ (if pkgs.stdenv.system == "aarch64-linux"
|
||||
then []
|
||||
else [ pkgs.grub2 pkgs.syslinux ]);
|
||||
system.boot.loader.kernelFile = pkgs.stdenv.platform.kernelTarget;
|
||||
|
||||
fileSystems."/" =
|
||||
{ fsType = "tmpfs";
|
||||
@ -86,7 +85,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
|
||||
'';
|
||||
|
@ -326,6 +326,8 @@
|
||||
cfssl = 299;
|
||||
cassandra = 300;
|
||||
qemu-libvirtd = 301;
|
||||
# kvm = 302; # unused
|
||||
# render = 303; # unused
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
@ -612,6 +614,8 @@
|
||||
cfssl = 299;
|
||||
cassandra = 300;
|
||||
qemu-libvirtd = 301;
|
||||
kvm = 302; # default udev rules from systemd requires these
|
||||
render = 303; # default udev rules from systemd requires these
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
@ -281,6 +281,7 @@
|
||||
./services/hardware/upower.nix
|
||||
./services/hardware/usbmuxd.nix
|
||||
./services/hardware/thermald.nix
|
||||
./services/hardware/undervolt.nix
|
||||
./services/logging/SystemdJournal2Gelf.nix
|
||||
./services/logging/awstats.nix
|
||||
./services/logging/fluentd.nix
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
# USB support, especially for booting from USB CD-ROM
|
||||
# drives.
|
||||
"usb_storage"
|
||||
"uas"
|
||||
|
||||
# Firewire support. Not tested.
|
||||
"ohci1394" "sbp2"
|
||||
|
@ -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 = ''
|
||||
|
134
nixos/modules/services/hardware/undervolt.nix
Normal file
134
nixos/modules/services/hardware/undervolt.nix
Normal file
@ -0,0 +1,134 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.undervolt;
|
||||
in {
|
||||
options.services.undervolt = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to undervolt intel cpus.
|
||||
'';
|
||||
};
|
||||
|
||||
verbose = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable verbose logging.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.undervolt;
|
||||
defaultText = "pkgs.undervolt";
|
||||
description = ''
|
||||
undervolt derivation to use.
|
||||
'';
|
||||
};
|
||||
|
||||
coreOffset = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The amount of voltage to offset the CPU cores by. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
gpuOffset = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The amount of voltage to offset the GPU by. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
uncoreOffset = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The amount of voltage to offset uncore by. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
analogioOffset = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The amount of voltage to offset analogio by. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
temp = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The temperature target. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
tempAc = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The temperature target on AC power. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
|
||||
tempBat = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The temperature target on battery power. Accepts a floating point number.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.kernelModules = [ "msr" ];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.undervolt = {
|
||||
path = [ pkgs.undervolt ];
|
||||
|
||||
description = "Intel Undervolting Service";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Restart = "no";
|
||||
|
||||
# `core` and `cache` are both intentionally set to `cfg.coreOffset` as according to the undervolt docs:
|
||||
#
|
||||
# Core or Cache offsets have no effect. It is not possible to set different offsets for
|
||||
# CPU Core and Cache. The CPU will take the smaller of the two offsets, and apply that to
|
||||
# both CPU and Cache. A warning message will be displayed if you attempt to set different offsets.
|
||||
ExecStart = ''
|
||||
${pkgs.undervolt}/bin/undervolt \
|
||||
${optionalString cfg.verbose "--verbose"} \
|
||||
${optionalString (cfg.coreOffset != null) "--core ${cfg.coreOffset}"} \
|
||||
${optionalString (cfg.coreOffset != null) "--cache ${cfg.coreOffset}"} \
|
||||
${optionalString (cfg.gpuOffset != null) "--gpu ${cfg.gpuOffset}"} \
|
||||
${optionalString (cfg.uncoreOffset != null) "--uncore ${cfg.uncoreOffset}"} \
|
||||
${optionalString (cfg.analogioOffset != null) "--analogio ${cfg.analogioOffset}"} \
|
||||
${optionalString (cfg.temp != null) "--temp ${cfg.temp}"} \
|
||||
${optionalString (cfg.tempAc != null) "--temp-ac ${cfg.tempAc}"} \
|
||||
${optionalString (cfg.tempBat != null) "--temp-bat ${cfg.tempBat}"}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.timers.undervolt = {
|
||||
description = "Undervolt timer to ensure voltage settings are always applied";
|
||||
partOf = [ "undervolt.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
timerConfig = {
|
||||
OnBootSec = "2min";
|
||||
OnUnitActiveSec = "30";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -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;
|
||||
})));
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ let
|
||||
api_key = "";
|
||||
confd_path = "/etc/datadog-agent/conf.d";
|
||||
additional_checksd = "/etc/datadog-agent/checks.d";
|
||||
use_dogstatsd = "yes";
|
||||
use_dogstatsd = true;
|
||||
}
|
||||
// optionalAttrs (cfg.logLevel != null) { log_level = cfg.logLevel; }
|
||||
// optionalAttrs (cfg.hostname != null) { inherit (cfg) hostname; }
|
||||
|
@ -161,8 +161,9 @@ in
|
||||
{ description = "DHCP Client";
|
||||
|
||||
wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target";
|
||||
wants = [ "network.target" ];
|
||||
wants = [ "network.target" "systemd-udev-settle.service" ];
|
||||
before = [ "network.target" ];
|
||||
after = [ "systemd-udev-settle.service" ];
|
||||
|
||||
# Stopping dhcpcd during a reconfiguration is undesirable
|
||||
# because it brings down the network interfaces configured by
|
||||
|
@ -146,7 +146,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
config = mkIf cfg.enable {
|
||||
users.extraGroups.cfssl = {
|
||||
gid = config.ids.gids.cfssl;
|
||||
};
|
||||
@ -159,7 +159,7 @@ in {
|
||||
uid = config.ids.uids.cfssl;
|
||||
};
|
||||
|
||||
systemd.services.cfssl = mkIf cfg.enable {
|
||||
systemd.services.cfssl = {
|
||||
description = "CFSSL CA API server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
@ -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; };
|
||||
|
||||
|
@ -30,10 +30,10 @@ let
|
||||
(assertValueOneOf "UDPSegmentationOffload" boolValues)
|
||||
(assertValueOneOf "GenericReceiveOffload" boolValues)
|
||||
(assertValueOneOf "LargeReceiveOffload" boolValues)
|
||||
(range "RxChannels" 1 4294967295)
|
||||
(range "TxChannels" 1 4294967295)
|
||||
(range "OtherChannels" 1 4294967295)
|
||||
(range "CombinedChannels" 1 4294967295)
|
||||
(assertRange "RxChannels" 1 4294967295)
|
||||
(assertRange "TxChannels" 1 4294967295)
|
||||
(assertRange "OtherChannels" 1 4294967295)
|
||||
(assertRange "CombinedChannels" 1 4294967295)
|
||||
];
|
||||
|
||||
checkNetdev = checkUnitConfig "Netdev" [
|
||||
|
@ -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
|
||||
|
@ -18,9 +18,6 @@ import ./make-test.nix ({ pkgs, ... }:
|
||||
enable = true;
|
||||
logPerVirtualHost = true;
|
||||
adminAddr="js@lastlog.de";
|
||||
extraModules = [
|
||||
{ name = "php7"; path = "${pkgs.php}/modules/libphp7.so"; }
|
||||
];
|
||||
|
||||
virtualHosts = [
|
||||
{
|
||||
@ -30,7 +27,7 @@ import ./make-test.nix ({ pkgs, ... }:
|
||||
{
|
||||
serviceType = "wordpress";
|
||||
dbPassword = "wordpress";
|
||||
wordpressUploads = "/data/uploads";
|
||||
dbHost = "127.0.0.1";
|
||||
languages = [ "de_DE" "en_GB" ];
|
||||
}
|
||||
];
|
||||
|
@ -34,9 +34,10 @@ stdenv.mkDerivation rec {
|
||||
cp ${gnu-config}/config.guess configure.guess
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://xiph.org/paranoia;
|
||||
description = "A tool and library for reading digital audio from CDs";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,14 @@
|
||||
, pkgconfig, premake3, xorg, ladspa-sdk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "distrho-ports-unstable-2018-01-01";
|
||||
name = "distrho-ports-${version}";
|
||||
version = "2018-04-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DISTRHO";
|
||||
repo = "DISTRHO-Ports";
|
||||
rev = "b200e7409aa9f6612c4d948932f6ce6f0a087f5a";
|
||||
sha256 = "0672r0a9s6skzkxpjdraziwh5k8ivrfzvi4zcpkcg3zrv2hia2vz";
|
||||
rev = version;
|
||||
sha256 = "0l4zwl4mli8jzch32a1fh7c88r9q17xnkxsdw17ds5hadnxlk12v";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
@ -46,6 +47,6 @@ stdenv.mkDerivation rec {
|
||||
TAL-Vocoder-2 TheFunction ThePilgrim Vex Wolpertinger
|
||||
'';
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = platforms.linux;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drumkv1-${version}";
|
||||
version = "0.9.0";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
|
||||
sha256 = "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab";
|
||||
sha256 = "1z9l43z91d01b9rzam2cj9qmmg6s5y65fjvb83ms4iaa1p0mnwrn";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
|
||||
|
@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://xiph.org/flac/;
|
||||
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
|
||||
platforms = platforms.all;
|
||||
maintainers = [ ];
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
||||
|
@ -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,7 +2,7 @@
|
||||
, avahi, bluez, boost, eigen, fftw, glib, glib-networking
|
||||
, glibmm, gsettings-desktop-schemas, gtkmm2, libjack2
|
||||
, ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom
|
||||
, wrapGAppsHook, zita-convolver, zita-resampler
|
||||
, wrapGAppsHook, zita-convolver, zita-resampler, curl
|
||||
, optimizationSupport ? false # Enable support for native CPU extensions
|
||||
}:
|
||||
|
||||
@ -12,11 +12,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "guitarix-${version}";
|
||||
version = "0.37.1";
|
||||
version = "0.37.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
|
||||
sha256 = "064k0jzxqgx9gwf8za6jziansabzrwzjaim3qx1743ify5g3gaai";
|
||||
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
avahi bluez boost eigen fftw glib glibmm glib-networking.out
|
||||
gsettings-desktop-schemas gtkmm2 libjack2 ladspaH libav librdf
|
||||
libsndfile lilv lv2 serd sord sratom zita-convolver
|
||||
zita-resampler
|
||||
zita-resampler curl
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "Mopidy-Iris";
|
||||
version = "3.23.2";
|
||||
version = "3.24.0";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1zf4ck19z3nh1x9a847ay1qnkyvi6s6866kp6q6dh1xpn7i9rmx7";
|
||||
sha256 = "19aympbkiil68j9jpvk1pgl4hplfs0vpc0d4vmzmpbcslkpirx2g";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "padthv1-${version}";
|
||||
version = "0.9.0";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/padthv1/${name}.tar.gz";
|
||||
sha256 = "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh";
|
||||
sha256 = "1alfl0l5qdll0w5lwhrwzj5dina1big1zmjg5imi9h06dzhz51xl";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "praat-${version}";
|
||||
version = "6.0.40";
|
||||
version = "6.0.42";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/praat/praat/archive/v${version}.tar.gz";
|
||||
sha256 = "168qrrr59qxii265vba7pj6f61lzq5lk9c43zcda0wmmjp87bq1x";
|
||||
sha256 = "1llcj1cq4k60lnr6jkdshd4l9nkg9yc2xmaqiinqryxrb58jmpcv";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "samplv1-${version}";
|
||||
version = "0.9.0";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
|
||||
sha256 = "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk";
|
||||
sha256 = "0rfcp4v971qfhw1hb43hw12wlxmg2q13l0m1h93pyfi5l4mfjkds";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "synthv1-${version}";
|
||||
version = "0.9.0";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
|
||||
sha256 = "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp";
|
||||
sha256 = "1r60l286n8y4a4rrlnbc3h7xk4s2pvqykvskls89prxg0lkpz7kl";
|
||||
};
|
||||
|
||||
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
||||
|
@ -13,14 +13,14 @@ let
|
||||
sha256Hash = "0xx6yprylmcb32ipmwdcfkgddlm1nrxi1w68miclvgrbk015brf2";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "3.2.0.22"; # "Android Studio 3.2 Beta 5"
|
||||
build = "181.4913314";
|
||||
sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9";
|
||||
version = "3.2.0.23"; # "Android Studio 3.2 RC 1"
|
||||
build = "181.4963425";
|
||||
sha256Hash = "0b3mmafpnc07chiy3fv3vlrarkiwbb0c62x3qk26kpxq1l6m8bgw";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.3.0.5"; # "Android Studio 3.3 Canary 6"
|
||||
build = "182.4954005";
|
||||
sha256Hash = "0b8ias75f3p5nrmgp7iqz4n4r4dbwhgagqmyc1fqfd36wbglyaf4";
|
||||
version = "3.3.0.6"; # "Android Studio 3.3 Canary 7"
|
||||
build = "182.4968538";
|
||||
sha256Hash = "159sya24p99pj9q0mj1sbcz2609ackz54x4pj3q1mxhiamsn1y2q";
|
||||
};
|
||||
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
|
||||
|
@ -249,12 +249,12 @@ in
|
||||
|
||||
clion = buildClion rec {
|
||||
name = "clion-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||
sha256 = "16fr5760nkzgx8785x6hh7s96x097y6vdx7w1f9ipg71vv25cscq"; /* updated by script */
|
||||
sha256 = "1wjrki0awjyjmv7hh5rkhbpx40yqjssgh4nv61fvg189aric4rzj"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-clion";
|
||||
update-channel = "CLion Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||
@ -262,12 +262,12 @@ in
|
||||
|
||||
datagrip = buildDataGrip rec {
|
||||
name = "datagrip-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "Your Swiss Army Knife for Databases and SQL";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||
sha256 = "1jfkxr790wr8ffn7ph694hfzahs2akjcfk4rfsvjv1dccqb0167k"; /* updated by script */
|
||||
sha256 = "0sfcl6bcq5hzwx1fdn8zfyl4qqjcmjmzwspa7v7niyqhbj5zdba9"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-datagrip";
|
||||
update-channel = "DataGrip 2018.2";
|
||||
@ -288,12 +288,12 @@ in
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "04dqyzkkrwvcdy1raard77v2315d44h29cpc9p98bjidvjd6bhsx"; /* updated by script */
|
||||
sha256 = "1495zkccss1bkh803p6065nypqj72zra9dbnlx3iz4kkbawr7j15"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea-ce";
|
||||
update-channel = "IntelliJ IDEA Release";
|
||||
@ -301,12 +301,12 @@ in
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
||||
sha256 = "0ydidg9pk8bqf5jb1z0fw2m88v6mi38b4ddgmh5c9d9p44g6mddv"; /* updated by script */
|
||||
sha256 = "04jzsmnfmxxf264dla6scshk576z8w8sv78mpzb2mc1ndwviwflx"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
update-channel = "IntelliJ IDEA Release";
|
||||
@ -314,12 +314,12 @@ in
|
||||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||
sha256 = "042qhdkl4v5q4cdbqfbiwj6s3acivdb5kmbyn4jix8pg8r37yfnm"; /* updated by script */
|
||||
sha256 = "1sjxavkfjg4g9rgjqjjb9d6wg53dwfs8n65w3qbp87c7x3pl006r"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-phpstorm";
|
||||
update-channel = "PhpStorm 2018.2";
|
||||
@ -327,12 +327,12 @@ in
|
||||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "PyCharm Community Edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "14vnwqk0x0anvzmdv2ddc3qc9g5fll2ql02mi12k425j30fl2z2q"; /* updated by script */
|
||||
sha256 = "0nq4xwqczppdrswi826yzjdzqpiwl4iyi70d7g6ncqd9wyiay4z4"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm-ce";
|
||||
update-channel = "PyCharm Release";
|
||||
@ -340,12 +340,12 @@ in
|
||||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "PyCharm Professional Edition";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "1h4f9l577w2ps0y79x79yhpbrsv3j5nwr1lr1890phmp6zri6wyf"; /* updated by script */
|
||||
sha256 = "1cf8z1wb532qhxlf0z4d791x084drfxzlaxq28hzy4f450bqbkp7"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm";
|
||||
update-channel = "PyCharm Release";
|
||||
@ -353,15 +353,15 @@ in
|
||||
|
||||
rider = buildRider rec {
|
||||
name = "rider-${version}";
|
||||
version = "2018.1.3"; /* updated by script */
|
||||
version = "2018.2"; /* updated by script */
|
||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
|
||||
sha256 = "00wskr60mjipyp44wrpc3pn6awc92djn7rwhc08nrar3zv0j4mgg"; /* updated by script */
|
||||
sha256 = "0yigw9g53i6xamwva8vcd38f0aysxqkf77avms4l7l63dkap99nq"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-rider";
|
||||
update-channel = "Rider 2018.1.3";
|
||||
update-channel = "Rider 2018.2";
|
||||
};
|
||||
|
||||
ruby-mine = buildRubyMine rec {
|
||||
@ -379,12 +379,12 @@ in
|
||||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
version = "2018.2.1"; /* updated by script */
|
||||
version = "2018.2.2"; /* updated by script */
|
||||
description = "Professional IDE for Web and JavaScript development";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||
sha256 = "1jbzkp13qn4n58kbcsszm2gfnywjma2yvn48g0vi14v7x6zihhxd"; /* updated by script */
|
||||
sha256 = "1a31q7wrg4ihap8j6n2cg98ml1zic78drkrp0p554rgsnh7v4hwr"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-webstorm";
|
||||
update-channel = "WebStorm Release";
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "neovim-qt-${version}";
|
||||
version = "0.2.8";
|
||||
version = "0.2.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "equalsraf";
|
||||
repo = "neovim-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "190yg6kkw953h8wajlqr2hvs2fz65y6z0blmywlg1nff724allaq";
|
||||
sha256 = "014zqfbbv7q85z64h1iw88l37vhrvhjv7xxd0a76j7d1m2769kqs";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "OpenOrienteering-Mapper-${version}";
|
||||
version = "0.8.1.2";
|
||||
version = "0.8.2";
|
||||
|
||||
buildInputs = [ gdal qtbase qttools qtlocation qtimageformats
|
||||
qtsensors clipper zlib proj doxygen cups];
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "OpenOrienteering";
|
||||
repo = "mapper";
|
||||
rev = "v${version}";
|
||||
sha256 = "0f7zxzl2n46qy86k6n3f6a7l1nhba58i28l8ngp3drf74qffaa33";
|
||||
sha256 = "02lga6nlal4c7898zc3lv1pcwyv1wpkn7v2xji2kgq68r6aw6j59";
|
||||
};
|
||||
|
||||
cmakeFlags =
|
||||
|
@ -84,6 +84,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.imagemagick.org/;
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ the-kenny wkennington ];
|
||||
};
|
||||
}
|
||||
|
@ -10,7 +10,10 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [unzip];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
description = "Java based toolkit for handling SVG";
|
||||
homepage = https://xmlgraphics.apache.org/batik;
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -28,10 +28,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Gnome Diagram drawing software";
|
||||
homepage = http://live.gnome.org/Dia;
|
||||
maintainers = with stdenv.lib.maintainers; [raskin];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://github.com/mattes/epeg;
|
||||
description = "Insanely fast JPEG/ JPG thumbnail scaling";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = {
|
||||
url = "https://github.com/mattes/epeg#license";
|
||||
};
|
||||
maintainers = with maintainers; [ nh2 ];
|
||||
};
|
||||
}
|
||||
|
@ -9,11 +9,6 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
CC=${stdenv.cc.targetPrefix}cc
|
||||
CXX=${stdenv.cc.targetPrefix}c++
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ stdenv openexr libpng12 libjpeg ];
|
||||
|
||||
|
@ -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
|
||||
|
@ -18,9 +18,10 @@ stdenv.mkDerivation {
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A fast image viewer";
|
||||
homepage = http://gqview.sourceforge.net;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
|
@ -17,10 +17,11 @@ stdenv.mkDerivation (rec {
|
||||
substituteInPlace Makefile --replace /man/ /share/man/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Quick image viewer";
|
||||
homepage = http://spiegl.de/qiv/;
|
||||
inherit version;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
|
@ -2,24 +2,24 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "1password-${version}";
|
||||
version = "0.5.1";
|
||||
version = "0.5.3";
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
||||
sha256 = "08kzjilxpkvlwqjyxnic1n6xiy6gkndijwxdksm59k7c56mdawsz";
|
||||
sha256 = "05s223h1yps4k9kmignl0r5sbh6w7m1hnlmafnf1kiwv7gacvxjc";
|
||||
stripRoot = false;
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
||||
sha256 = "1bsbzaqws0z991r6rkjrxay74fj4g5ld4d748ygr0950zwi1m3h7";
|
||||
sha256 = "0p9x1fx0309v8dxxaf88m8x8q15zzqywfmjn6v5wb9v3scp9396v";
|
||||
stripRoot = false;
|
||||
}
|
||||
else if stdenv.system == "x86_64-darwin" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
||||
sha256 = "1dhr8m9icip27v802gxl1vhl9rf0jq5awirdm72lqmlypj86df0g";
|
||||
sha256 = "1z2xp9bn93gr4ha6zx65va1fb58a2xlnnmpv583y96gq3vbnqdcj";
|
||||
stripRoot = false;
|
||||
}
|
||||
else throw "Architecture not supported";
|
||||
|
@ -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
|
||||
|
@ -4,13 +4,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "clipmenu-${version}";
|
||||
version = "5.4.0";
|
||||
version = "5.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cdown";
|
||||
repo = "clipmenu";
|
||||
rev = version;
|
||||
sha256 = "1qbpca0wny6i222vbikfl2znn3fynhbl4100qs8v4wn27ra5p0mi";
|
||||
sha256 = "15if7bwqviyynbrcwrn04r418cfnxf2mkmq112696np24bggvljg";
|
||||
};
|
||||
|
||||
buildInputs = [ 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);
|
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.47";
|
||||
version = "0.47.1";
|
||||
|
||||
goPackagePath = "github.com/gohugoio/hugo";
|
||||
|
||||
@ -10,7 +10,7 @@ buildGoPackage rec {
|
||||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
rev = "v${version}";
|
||||
sha256 = "1h62ix285mx977mgawyanyvsqqic1xx0gmi1r5wn43w9yc29wr0z";
|
||||
sha256 = "0n27vyg66jfx4lwswsmdlybly8c9gy5rk7yhy7wzs3rwzlqv1jzj";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
20
pkgs/applications/misc/hugo/deps.nix
generated
20
pkgs/applications/misc/hugo/deps.nix
generated
@ -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";
|
||||
};
|
||||
}
|
||||
{
|
||||
@ -347,8 +347,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/cobra";
|
||||
rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1";
|
||||
sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7";
|
||||
rev = "ff0d02e8555041edecbd0ce27f32c6ea4b214483";
|
||||
sha256 = "1ilw6b2nir1bg7hmx8hrn60za37qqm18xvamv90fx5vxq85fsml9";
|
||||
};
|
||||
}
|
||||
{
|
||||
@ -446,8 +446,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "aaf60122140d3fcf75376d319f0554393160eb50";
|
||||
sha256 = "03i6ij7jcf5mp9dc8ps8b63g1k843z7c823qyzn5a276gpxvxlvv";
|
||||
rev = "922f4815f713f213882e8ef45e0d315b164d705c";
|
||||
sha256 = "1ci1rxk2d6hmfsjjc19n2sxhyn4jqr5ia3ykyah1h08p0pn7k52w";
|
||||
};
|
||||
}
|
||||
{
|
||||
@ -464,8 +464,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "1c9583448a9c3aa0f9a6a5241bf73c0bd8aafded";
|
||||
sha256 = "0g0nc549pmdmvja4mdqh0kgvznnw6wliqmx5wrnj02l3a23vizmi";
|
||||
rev = "4ea2f632f6e912459fe60b26b1749377f0d889d5";
|
||||
sha256 = "16pdi4mmjlcrjdcz7k559jqnsvkhdmff68bbqq7ii1lp8vrpqqmy";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -26,13 +26,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "keepassxc-${version}";
|
||||
version = "2.3.3";
|
||||
version = "2.3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "keepassxreboot";
|
||||
repo = "keepassxc";
|
||||
rev = "${version}";
|
||||
sha256 = "08cj1nxbjy2m80h3irnra2qha7fc5ahhzcgkyk9jv4zyys9xv998";
|
||||
sha256 = "1gja402dsbws4z8ybnhqbw7rc9svgqnshqjgf7158d6x0ni386m3";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
|
||||
|
@ -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,11 +81,6 @@ stdenv.mkDerivation rec {
|
||||
cd ../../..
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
CC=${stdenv.cc.targetPrefix}cc
|
||||
CXX=${stdenv.cc.targetPrefix}c++
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--disable-static"
|
||||
"--disable-staticbins"
|
||||
|
@ -1,30 +1,58 @@
|
||||
{ stdenv, fetchsvn, pkgconfig, gtk2, SDL, fontconfig, freetype, imlib2, SDL_image, libGLU_combined,
|
||||
libXmu, freeglut, python, gettext, quesoglc, gd, postgresql, cmake, qt4, SDL_ttf, fribidi}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "navit-svn-3537";
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, gtk2, SDL, fontconfig, freetype, imlib2, SDL_image, libGLU_combined,
|
||||
libXmu, freeglut, pcre, dbus-glib, glib, librsvg, freeimage, libxslt,
|
||||
qtbase, qtquickcontrols, qtsvg, qtdeclarative, qtlocation, qtsensors, qtmultimedia, qtspeech, espeak,
|
||||
cairo, gdk_pixbuf, pango, atk, patchelf, fetchurl, bzip2,
|
||||
python, gettext, quesoglc, gd, postgresql, cmake, shapelib, SDL_ttf, fribidi}:
|
||||
|
||||
src = fetchsvn {
|
||||
url = svn://svn.code.sf.net/p/navit/code/trunk/navit;
|
||||
rev = 5576;
|
||||
sha256 = "1xx62l5srfhh9cfi7n3pxj8hpcgr1rpa0hzfmbrqadzv09z36723";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "navit-${version}";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "navit-gps";
|
||||
repo = "navit";
|
||||
rev = "v${version}";
|
||||
sha256 = "0jf2gjh2sszr5y5c2wvamfj2qggi2y5k3ynb32pak9vhf5xyl5xj";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
buildInputs = [ gtk2 SDL fontconfig freetype imlib2 SDL_image libGLU_combined
|
||||
libXmu freeglut python gettext quesoglc gd postgresql qt4 SDL_ttf fribidi ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
sample_map = fetchurl {
|
||||
url = "http://www.navit-project.org/maps/osm_bbox_11.3,47.9,11.7,48.2.osm.bz2";
|
||||
name = "sample_map.bz2";
|
||||
sha256 = "0vg6b6rhsa2cxqj4rbhfhhfss71syhnfa6f1jg2i2d7l88dm5x7d";
|
||||
};
|
||||
|
||||
#hardeningDisable = [ "format" ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
|
||||
|
||||
cmakeFlags = [ "-DSAMPLE_MAP=n" ];
|
||||
# TODO: fix speech options.
|
||||
cmakeFlags = [ "-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-Dsupport/espeak=FALSE" "-Dspeech/qt5_espeak=FALSE" ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.navit-project.org/;
|
||||
buildInputs = [ gtk2 SDL fontconfig freetype imlib2 SDL_image libGLU_combined freeimage libxslt
|
||||
libXmu freeglut python gettext quesoglc gd postgresql qtbase SDL_ttf fribidi pcre qtquickcontrols
|
||||
espeak qtmultimedia qtspeech qtsensors qtlocation qtdeclarative qtsvg dbus-glib librsvg shapelib glib
|
||||
cairo gdk_pixbuf pango atk ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake patchelf bzip2 ];
|
||||
|
||||
# we dont want blank screen by defaut
|
||||
postInstall = ''
|
||||
# emulate DSAMPLE_MAP
|
||||
mkdir -p $out/share/navit/maps/maps
|
||||
bzcat "${sample_map}" | $out/bin/maptool "$out/share/navit/maps/osm_bbox_11.3,47.9,11.7,48.2.bin"
|
||||
'';
|
||||
|
||||
# TODO: fix upstream?
|
||||
postFixup = ''
|
||||
for lib in $(find "$out/lib/navit/" -iname "*.so" ); do
|
||||
patchelf --set-rpath ${stdenv.lib.makeLibraryPath buildInputs} $lib
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.navit-project.org;
|
||||
description = "Car navigation system with routing engine using OSM maps";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.genesis ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
'';
|
||||
|
||||
|
||||
|
38
pkgs/applications/misc/tootle/default.nix
Normal file
38
pkgs/applications/misc/tootle/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
, meson, ninja, pkgconfig
|
||||
, gnome3, vala, gobjectIntrospection, wrapGAppsHook
|
||||
, gtk3, granite
|
||||
, json-glib, glib, glib-networking
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "tootle";
|
||||
version = "0.1.5";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bleakgrey";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "022h1rh1jk3m1f9al0s1rylmnqnkydyc81idfc8jf1g0frnvn5i6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
gtk3 granite json-glib glib glib-networking
|
||||
gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x ./meson/post_install.py
|
||||
patchShebangs ./meson/post_install.py
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Simple Mastodon client designed for elementary OS";
|
||||
homepage = https://github.com/bleakgrey/tootle;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
};
|
||||
}
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xpad-${version}";
|
||||
version = "5.0.0";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/xpad/trunk/${version}/+download/xpad-${version}.tar.bz2";
|
||||
sha256 = "02yikxg6z9bwla09ka001ppjlpbv5kbza3za9asazm5aiz376mkb";
|
||||
sha256 = "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
|
||||
|
@ -82,8 +82,8 @@ let
|
||||
xdg_utils yasm minizip libwebp
|
||||
libusb1 re2 zlib
|
||||
ffmpeg libxslt libxml2
|
||||
# harfbuzz-icu # in versions over 63 harfbuzz and freetype are being built together
|
||||
# so we can't build with one from system and other from source
|
||||
# harfbuzz # in versions over 63 harfbuzz and freetype are being built together
|
||||
# so we can't build with one from system and other from source
|
||||
];
|
||||
|
||||
# build paths and release info
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -185,7 +185,7 @@ stdenv.mkDerivation (rec {
|
||||
"--disable-gconf"
|
||||
"--enable-default-toolkit=${default-toolkit}"
|
||||
]
|
||||
++ lib.optional stdenv.isDarwin "--disable-xcode-checks"
|
||||
++ lib.optional (stdenv.isDarwin && lib.versionAtLeast version "61") "--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,17 +1,19 @@
|
||||
{ fetchurl, stdenv, jre, glib, libXtst, gtk2, makeWrapper }:
|
||||
{ fetchurl, stdenv, jre, glib, libXtst, gtk2, makeWrapper, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "davmail-4.8.0";
|
||||
name = "davmail-4.8.6";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/davmail/4.8.0/davmail-linux-x86_64-4.8.0-2479.tgz";
|
||||
sha256 = "0e650c4a060d64fd2b270ddb00baa906aac617865d5e60c9f526a281cdb27b62";
|
||||
url = "mirror://sourceforge/davmail/4.8.6/davmail-4.8.6-2600.zip";
|
||||
sha256 = "1wk4jxb46qlyipxj57flqadgm4mih243rhqq9sp9m5pifjqrw9dp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/davmail
|
||||
cp -R ./* $out/share/davmail
|
||||
cp -vR ./* $out/share/davmail
|
||||
makeWrapper $out/share/davmail/davmail.sh $out/bin/davmail \
|
||||
--prefix PATH : ${jre}/bin \
|
||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]}
|
||||
|
@ -3,7 +3,7 @@
|
||||
, libGL, xcbutilkeysyms, xdg_utils, libtool }:
|
||||
|
||||
let
|
||||
version = "4.30.5.1676";
|
||||
version = "4.30.5.1682";
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
xdg_utils
|
||||
@ -43,7 +43,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
|
||||
sha256 = "1fmvarq7zf1cnah2d1l7rxhbiw3dmjcxsldys5is63y204hdh04y";
|
||||
sha256 = "03pz8wskafn848yvciq29kwdvqcgjrk6sjnm8nk9acl89xf0sn96";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
|
||||
|
||||
let version = "1.23.2"; in
|
||||
let version = "1.23.3"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "pidgin-sipe-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
|
||||
sha256 = "1xj4nn5h103q4agar167xwcp98qf8knrgs918nl07qaxp9g4558w";
|
||||
sha256 = "0aaiblnagncb0lhdwb8qbps6hxxmyfjg7sdi15lrkl98i3fahg4n";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,22 +1,44 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk24x-gtk3
|
||||
, libsass, notmuch, boost, wrapGAppsHook, glib-networking }:
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk
|
||||
, libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable
|
||||
, makeWrapper, python3, python3Packages
|
||||
, vim ? vim_configurable.override {
|
||||
features = "normal";
|
||||
gui = "auto";
|
||||
}
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "astroid-${version}";
|
||||
version = "0.11.1";
|
||||
version = "0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astroidmail";
|
||||
repo = "astroid";
|
||||
rev = "v${version}";
|
||||
sha256 = "1z48rvlzwi7bq7j55rnb0gg1a4k486yj910z2cxz1p46lxk332j1";
|
||||
sha256 = "105x5g44hng3fi03h67j3an53088148jbq8726nmcp0zs0cy9gac";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
|
||||
|
||||
buildInputs = [ gnome3.gtkmm gmime3 webkitgtk24x-gtk3 libsass gnome3.libpeas
|
||||
notmuch boost gnome3.gsettings-desktop-schemas
|
||||
glib-networking ];
|
||||
buildInputs = [ gnome3.gtkmm gmime3 webkitgtk libsass gnome3.libpeas
|
||||
python3 python3Packages.pygobject3
|
||||
notmuch boost gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
|
||||
glib-networking protobuf ] ++ (if vim == null then [] else [ vim ]);
|
||||
|
||||
patches = [
|
||||
# TODO: remove when https://github.com/astroidmail/astroid/pull/531
|
||||
# is released
|
||||
./run_tests.diff
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc
|
||||
sed -i "s~ -geom 10x10~~g" src/config.cc
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/astroid" --set CHARSET=en_us.UTF-8
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://astroidmail.github.io/;
|
||||
|
@ -0,0 +1,10 @@
|
||||
diff --git a/tests/run_test.sh b/tests/run_test.sh
|
||||
index f2ea7d7..927c61d 100755
|
||||
--- a/tests/run_test.sh
|
||||
+++ b/tests/run_test.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#! /bin/bash
|
||||
+#! /usr/bin/env bash
|
||||
#
|
||||
# Set up environment and run test specified on command line
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig
|
||||
{ stdenv, lib, fetchpatch, fetchurl, autoreconfHook, pkgconfig
|
||||
, openssl, netcat-gnu, gnutls, gsasl, libidn, Security
|
||||
, withKeyring ? true, libsecret ? null
|
||||
, systemd ? null }:
|
||||
@ -19,6 +19,14 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
patches = [
|
||||
./paths.patch
|
||||
|
||||
# To support passwordeval commands that do not print a final
|
||||
# newline.
|
||||
(fetchpatch {
|
||||
name = "passwordeval-without-nl.patch";
|
||||
url = "https://gitlab.marlam.de/marlam/msmtp/commit/df22dccf9d1af06fcd09dfdd0d6a38e1372dd5e8.patch";
|
||||
sha256 = "06gbhvzi46zqigmmsin2aard7b9v3ihx62hbz5ljmfbj9rfs1x5y";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ openssl gnutls gsasl libidn ]
|
||||
|
@ -10,7 +10,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.2.31.2";
|
||||
version = "1.2.31.3";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "remmina";
|
||||
@ -29,7 +29,7 @@ in stdenv.mkDerivation {
|
||||
owner = "Remmina";
|
||||
repo = "Remmina";
|
||||
rev = "v${version}";
|
||||
sha256 = "09jdrs2hbr9wyd5yqw5bri41rnfnxxyh98mlv6ig2phlvs9cg73d";
|
||||
sha256 = "0lvang4587wz292c3k3s8n4icc25cia1phmij34ndrl1f9lg34dp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -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 ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools,
|
||||
mkDerivation, lib, fetchurl, fetchpatch, extra-cmake-modules, kdoctools,
|
||||
boost, qttools, qtwebkit,
|
||||
breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
|
||||
kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets,
|
||||
@ -29,6 +29,13 @@ mkDerivation rec {
|
||||
|
||||
propagatedUserEnvPkgs = [ kproperty ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff";
|
||||
sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
|
||||
longDescription = ''
|
||||
|
57
pkgs/applications/office/todoman/default.nix
Normal file
57
pkgs/applications/office/todoman/default.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{ stdenv, python3, glibcLocales }:
|
||||
|
||||
let
|
||||
inherit (python3.pkgs) buildPythonApplication fetchPypi;
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "todoman";
|
||||
version = "3.4.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "09441fdrwz2irsbrxnpwys51372z6rn6gnxn87p95r3fv9gmh0fw";
|
||||
};
|
||||
|
||||
LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
|
||||
"${glibcLocales}/lib/locale/locale-archive";
|
||||
LANG = "en_US.UTF-8";
|
||||
LC_TYPE = "en_US.UTF-8";
|
||||
|
||||
buildInputs = [ glibcLocales ];
|
||||
propagatedBuildInputs = with python3.pkgs;
|
||||
[ atomicwrites click click-log configobj humanize icalendar parsedatetime
|
||||
python-dateutil pyxdg tabulate urwid ];
|
||||
|
||||
checkInputs = with python3.pkgs;
|
||||
[ flake8 flake8-import-order freezegun hypothesis pytest pytestrunner pytestcov ];
|
||||
|
||||
makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
|
||||
"--set CHARSET en_us.UTF-8" ];
|
||||
|
||||
preCheck = ''
|
||||
# Remove one failing test that only checks whether the command line works
|
||||
rm tests/test_main.py
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/pimutils/todoman;
|
||||
description = "Standards-based task manager based on iCalendar";
|
||||
longDescription = ''
|
||||
Todoman is a simple, standards-based, cli todo (aka: task) manager. Todos
|
||||
are stored into icalendar files, which means you can sync them via CalDAV
|
||||
using, for example, vdirsyncer.
|
||||
|
||||
Todos are read from individual ics files from the configured directory.
|
||||
This matches the vdir specification. There’s support for the most common TODO
|
||||
features for now (summary, description, location, due date and priority) for
|
||||
now. Runs on any Unix-like OS. It’s been tested on GNU/Linux, BSD and macOS.
|
||||
Unsupported fields may not be shown but are never deleted or altered.
|
||||
|
||||
Todoman is part of the pimutils project
|
||||
'';
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -14,10 +14,10 @@ with stdenv.lib;
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "tryton";
|
||||
version = "4.8.4";
|
||||
version = "4.8.5";
|
||||
src = python2Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "6cf3091424853e1270d61f3a9b15ad8e6b36a44c28becf216c324ca8dc1474b0";
|
||||
sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
|
||||
};
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
|
@ -5,10 +5,10 @@ with stdenv.lib;
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "trytond";
|
||||
version = "4.8.3";
|
||||
version = "4.8.4";
|
||||
src = python2Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "11d01dc984d9274229b5c80f883679d130a55e14e9124b051274fce9aea4ef77";
|
||||
sha256 = "1935045b1b4674de602b4279a9cfd0a14431624a28ccb490234cffecb81fbca7";
|
||||
};
|
||||
|
||||
# Tells the tests which database to use
|
||||
|
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchurl, jre, makeWrapper, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "astrolabe-generator-${version}";
|
||||
version = "3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/wymarc/astrolabe-generator/releases/download/v${version}/AstrolabeGenerator-${version}.zip";
|
||||
sha256 = "141gfmrqa1mf2qas87qig4phym9fg9gbrcfl2idzd5gi91824dn9";
|
||||
};
|
||||
|
||||
buildInputs = [ jre ];
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/java}
|
||||
cp AstrolabeGenerator-${version}.jar $out/share/java
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/AstrolabeGenerator \
|
||||
--add-flags "-jar $out/share/java/AstrolabeGenerator-${version}.jar"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib;{
|
||||
homepage = https://www.astrolabeproject.com;
|
||||
description = "A Java-based tool for generating EPS files for constructing astrolabes and related tools";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.genesis ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
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)"
|
@ -12,9 +12,6 @@ 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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user