Merge remote-tracking branch 'origin/master' into staging
This commit is contained in:
commit
7a4209c356
@ -296,12 +296,17 @@ rec {
|
||||
|
||||
/* Converts a store path to a fake derivation. */
|
||||
toDerivation = path:
|
||||
let path' = builtins.storePath path; in
|
||||
let
|
||||
path' = builtins.storePath path;
|
||||
res =
|
||||
{ type = "derivation";
|
||||
name = builtins.unsafeDiscardStringContext (builtins.substring 33 (-1) (baseNameOf path'));
|
||||
outPath = path';
|
||||
outputs = [ "out" ];
|
||||
out = res;
|
||||
outputName = "out";
|
||||
};
|
||||
in res;
|
||||
|
||||
|
||||
/* If `cond' is true, return the attribute set `as',
|
||||
|
@ -1,27 +1,46 @@
|
||||
let
|
||||
|
||||
# trivial, often used functions
|
||||
trivial = import ./trivial.nix;
|
||||
|
||||
# datatypes
|
||||
attrsets = import ./attrsets.nix;
|
||||
lists = import ./lists.nix;
|
||||
strings = import ./strings.nix;
|
||||
stringsWithDeps = import ./strings-with-deps.nix;
|
||||
attrsets = import ./attrsets.nix;
|
||||
|
||||
# packaging
|
||||
customisation = import ./customisation.nix;
|
||||
maintainers = import ./maintainers.nix;
|
||||
meta = import ./meta.nix;
|
||||
sources = import ./sources.nix;
|
||||
|
||||
# module system
|
||||
modules = import ./modules.nix;
|
||||
options = import ./options.nix;
|
||||
types = import ./types.nix;
|
||||
meta = import ./meta.nix;
|
||||
debug = import ./debug.nix;
|
||||
misc = import ./deprecated.nix;
|
||||
maintainers = import ./maintainers.nix;
|
||||
|
||||
# constants
|
||||
licenses = import ./licenses.nix;
|
||||
platforms = import ./platforms.nix;
|
||||
systems = import ./systems.nix;
|
||||
customisation = import ./customisation.nix;
|
||||
licenses = import ./licenses.nix;
|
||||
|
||||
# misc
|
||||
debug = import ./debug.nix;
|
||||
misc = import ./deprecated.nix;
|
||||
|
||||
# domain-specific
|
||||
sandbox = import ./sandbox.nix;
|
||||
fetchers = import ./fetchers.nix;
|
||||
|
||||
in
|
||||
{ inherit trivial lists strings stringsWithDeps attrsets sources options
|
||||
modules types meta debug maintainers licenses platforms systems sandbox;
|
||||
{ inherit trivial
|
||||
attrsets lists strings stringsWithDeps
|
||||
customisation maintainers meta sources
|
||||
modules options types
|
||||
licenses platforms systems
|
||||
debug misc
|
||||
sandbox fetchers;
|
||||
}
|
||||
# !!! don't include everything at top-level; perhaps only the most
|
||||
# commonly used functions.
|
||||
|
12
lib/fetchers.nix
Normal file
12
lib/fetchers.nix
Normal file
@ -0,0 +1,12 @@
|
||||
# snippets that can be shared by mutliple fetchers (pkgs/build-support)
|
||||
{
|
||||
|
||||
proxyImpureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
|
||||
}
|
@ -197,6 +197,7 @@
|
||||
joelmo = "Joel Moberg <joel.moberg@gmail.com>";
|
||||
joelteon = "Joel Taylor <me@joelt.io>";
|
||||
joko = "Ioannis Koutras <ioannis.koutras@gmail.com>";
|
||||
jonafato = "Jon Banafato <jon@jonafato.com>";
|
||||
jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
|
||||
jraygauthier = "Raymond Gauthier <jraygauthier@gmail.com>";
|
||||
juliendehos = "Julien Dehos <dehos@lisic.univ-littoral.fr>";
|
||||
|
@ -1,6 +1,8 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils findutils gnused nix wget
|
||||
|
||||
set -efuo pipefail
|
||||
|
||||
SRCS=
|
||||
if [ -d "$1" ]; then
|
||||
SRCS="$(pwd)/$1/srcs.nix"
|
||||
|
@ -121,6 +121,27 @@ following incompatible changes:</para>
|
||||
functionality. See <xref linkend="sec-grsecurity" /> for documentation
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>Special filesystems, like <literal>/proc</literal>,
|
||||
<literal>/run</literal> and others, now have the same mount options as
|
||||
recommended by systemd. They are now unified across different places in NixOS.
|
||||
Options are also updated on the system switch if possible. One benefit from
|
||||
this is improved security -- most such filesystems are now mounted with
|
||||
<literal>noexec</literal>, <literal>nodev</literal> and/or
|
||||
<literal>nosuid</literal> options.</para></listitem>
|
||||
|
||||
<listitem><para>The reverse path filter was interfering with DHCPv4 server
|
||||
operation in the past. An exception for DHCPv4 and a new option to log
|
||||
packets that were dropped due to the reverse path filter was added
|
||||
(<literal>networking.firewall.logReversePathDrops</literal>) for easier
|
||||
debugging.</para></listitem>
|
||||
|
||||
<listitem><para>Containers configuration within
|
||||
<literal>containers.<name>.config</literal> is now properly
|
||||
typed and checked. In particular, partial configurations are merged
|
||||
correctly.
|
||||
(<link xlink:href="https://github.com/NixOS/nixpkgs/pull/17365">#17365</link>)
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
|
@ -61,7 +61,7 @@ in
|
||||
pkgs.cryptsetup # needed for dm-crypt volumes
|
||||
|
||||
# Some networking tools.
|
||||
pkgs.sshfsFuse
|
||||
pkgs.sshfs-fuse
|
||||
pkgs.socat
|
||||
pkgs.screen
|
||||
pkgs.wpa_supplicant # !!! should use the wpa module
|
||||
|
@ -55,7 +55,7 @@ in
|
||||
pkgs.cryptsetup # needed for dm-crypt volumes
|
||||
|
||||
# Some networking tools.
|
||||
pkgs.sshfsFuse
|
||||
pkgs.sshfs-fuse
|
||||
pkgs.socat
|
||||
pkgs.screen
|
||||
pkgs.wpa_supplicant # !!! should use the wpa module
|
||||
|
@ -74,7 +74,6 @@
|
||||
rtkit = 45;
|
||||
dovecot2 = 46;
|
||||
dovenull2 = 47;
|
||||
unbound = 48;
|
||||
prayer = 49;
|
||||
mpd = 50;
|
||||
clamav = 51;
|
||||
@ -141,7 +140,7 @@
|
||||
ngircd = 112;
|
||||
btsync = 113;
|
||||
minecraft = 114;
|
||||
monetdb = 115;
|
||||
#monetdb = 115; # unused (not packaged), removed 2016-09-19
|
||||
rippled = 116;
|
||||
murmur = 117;
|
||||
foundationdb = 118;
|
||||
@ -332,7 +331,6 @@
|
||||
#rtkit = 45; # unused
|
||||
dovecot2 = 46;
|
||||
#dovenull = 47; # unused
|
||||
#unbound = 48; # unused
|
||||
prayer = 49;
|
||||
mpd = 50;
|
||||
clamav = 51;
|
||||
@ -397,7 +395,7 @@
|
||||
#ngircd = 112; # unused
|
||||
btsync = 113;
|
||||
#minecraft = 114; # unused
|
||||
monetdb = 115;
|
||||
#monetdb = 115; # unused (not packaged), removed 2016-09-19
|
||||
#ripped = 116; # unused
|
||||
#murmur = 117; # unused
|
||||
foundationdb = 118;
|
||||
|
@ -145,7 +145,6 @@
|
||||
./services/databases/hbase.nix
|
||||
./services/databases/influxdb.nix
|
||||
./services/databases/memcached.nix
|
||||
./services/databases/monetdb.nix
|
||||
./services/databases/mongodb.nix
|
||||
./services/databases/mysql.nix
|
||||
./services/databases/neo4j.nix
|
||||
@ -388,6 +387,7 @@
|
||||
./services/networking/ostinato.nix
|
||||
./services/networking/pdnsd.nix
|
||||
./services/networking/polipo.nix
|
||||
./services/networking/powerdns.nix
|
||||
./services/networking/pptpd.nix
|
||||
./services/networking/prayer.nix
|
||||
./services/networking/privoxy.nix
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
# Some networking tools.
|
||||
pkgs.fuse
|
||||
pkgs.sshfsFuse
|
||||
pkgs.sshfs-fuse
|
||||
pkgs.socat
|
||||
pkgs.screen
|
||||
|
||||
|
@ -231,104 +231,101 @@ let
|
||||
(''
|
||||
# Account management.
|
||||
account sufficient pam_unix.so
|
||||
'' + optionalString use_ldap ''
|
||||
account sufficient ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' + optionalString config.krb5.enable ''
|
||||
account sufficient ${pam_krb5}/lib/security/pam_krb5.so
|
||||
'' + ''
|
||||
${optionalString use_ldap
|
||||
"account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
|
||||
${optionalString config.krb5.enable
|
||||
"account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
|
||||
|
||||
# Authentication management.
|
||||
'' + optionalString cfg.rootOK ''
|
||||
auth sufficient pam_rootok.so
|
||||
'' + optionalString cfg.requireWheel ''
|
||||
auth required pam_wheel.so use_uid
|
||||
'' + optionalString cfg.logFailures ''
|
||||
auth required pam_tally.so
|
||||
'' + optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) ''
|
||||
auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u
|
||||
'' + optionalString cfg.fprintAuth ''
|
||||
auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||
'' + optionalString cfg.u2fAuth ''
|
||||
auth sufficient ${pkgs.pam_u2f}/lib/security/pam_u2f.so
|
||||
'' + optionalString cfg.usbAuth ''
|
||||
auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so
|
||||
''
|
||||
|
||||
${optionalString cfg.rootOK
|
||||
"auth sufficient pam_rootok.so"}
|
||||
${optionalString cfg.requireWheel
|
||||
"auth required pam_wheel.so use_uid"}
|
||||
${optionalString cfg.logFailures
|
||||
"auth required pam_tally.so"}
|
||||
${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
|
||||
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"}
|
||||
${optionalString cfg.fprintAuth
|
||||
"auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
|
||||
${optionalString cfg.u2fAuth
|
||||
"auth sufficient ${pkgs.pam_u2f}/lib/security/pam_u2f.so"}
|
||||
${optionalString cfg.usbAuth
|
||||
"auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so"}
|
||||
'' +
|
||||
# Modules in this block require having the password set in PAM_AUTHTOK.
|
||||
# pam_unix is marked as 'sufficient' on NixOS which means nothing will run
|
||||
# after it succeeds. Certain modules need to run after pam_unix
|
||||
# prompts the user for password so we run it once with 'required' at an
|
||||
# earlier point and it will run again with 'sufficient' further down.
|
||||
# We use try_first_pass the second time to avoid prompting password twice
|
||||
+ optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount)) (''
|
||||
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok "}likeauth
|
||||
'' + optionalString config.security.pam.enableEcryptfs ''
|
||||
auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap
|
||||
'' + optionalString cfg.pamMount ''
|
||||
auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so
|
||||
'')
|
||||
+ optionalString cfg.unixAuth ''
|
||||
auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok "}likeauth try_first_pass
|
||||
'' + optionalString cfg.otpwAuth ''
|
||||
auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so
|
||||
'' + (let oath = config.security.pam.oath; in optionalString cfg.oathAuth ''
|
||||
auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
|
||||
'') + optionalString use_ldap ''
|
||||
auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass
|
||||
'' + optionalString config.krb5.enable ''
|
||||
(optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount)) ''
|
||||
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
|
||||
${optionalString cfg.pamMount
|
||||
"auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
|
||||
'') + ''
|
||||
${optionalString cfg.unixAuth
|
||||
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}
|
||||
${optionalString cfg.otpwAuth
|
||||
"auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so"}
|
||||
${let oath = config.security.pam.oath; in optionalString cfg.oathAuth
|
||||
"auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
|
||||
${optionalString use_ldap
|
||||
"auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
|
||||
${optionalString config.krb5.enable ''
|
||||
auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
|
||||
auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
|
||||
auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass
|
||||
'' + ''
|
||||
''}
|
||||
auth required pam_deny.so
|
||||
|
||||
# Password management.
|
||||
password requisite pam_unix.so nullok sha512
|
||||
'' + optionalString config.security.pam.enableEcryptfs ''
|
||||
password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
'' + optionalString cfg.pamMount ''
|
||||
password optional ${pkgs.pam_mount}/lib/security/pam_mount.so
|
||||
'' + optionalString use_ldap ''
|
||||
password sufficient ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' + optionalString config.krb5.enable ''
|
||||
password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
|
||||
'' + optionalString config.services.samba.syncPasswordsByPam ''
|
||||
password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass
|
||||
'' + ''
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
${optionalString cfg.pamMount
|
||||
"password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
|
||||
${optionalString use_ldap
|
||||
"password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
|
||||
${optionalString config.krb5.enable
|
||||
"password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
|
||||
${optionalString config.services.samba.syncPasswordsByPam
|
||||
"password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass"}
|
||||
|
||||
# Session management.
|
||||
'' + optionalString cfg.setEnvironment ''
|
||||
${optionalString cfg.setEnvironment ''
|
||||
session required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
'' + ''
|
||||
''}
|
||||
session required pam_unix.so
|
||||
'' + optionalString cfg.setLoginUid ''
|
||||
session ${
|
||||
${optionalString cfg.setLoginUid
|
||||
"session ${
|
||||
if config.boot.isContainer then "optional" else "required"
|
||||
} pam_loginuid.so
|
||||
'' + optionalString cfg.makeHomeDir ''
|
||||
session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022
|
||||
'' + optionalString cfg.updateWtmp ''
|
||||
session required ${pkgs.pam}/lib/security/pam_lastlog.so silent
|
||||
'' + optionalString config.security.pam.enableEcryptfs ''
|
||||
session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
'' + optionalString use_ldap ''
|
||||
session optional ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' + optionalString config.krb5.enable ''
|
||||
session optional ${pam_krb5}/lib/security/pam_krb5.so
|
||||
'' + optionalString cfg.otpwAuth ''
|
||||
session optional ${pkgs.otpw}/lib/security/pam_otpw.so
|
||||
'' + optionalString cfg.startSession ''
|
||||
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
|
||||
'' + optionalString cfg.forwardXAuth ''
|
||||
session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99
|
||||
'' + optionalString (cfg.limits != []) ''
|
||||
session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits}
|
||||
'' + optionalString (cfg.showMotd && config.users.motd != null) ''
|
||||
session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd}
|
||||
'' + optionalString cfg.pamMount ''
|
||||
session optional ${pkgs.pam_mount}/lib/security/pam_mount.so
|
||||
'' + optionalString (cfg.enableAppArmor && config.security.apparmor.enable) ''
|
||||
session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug
|
||||
} pam_loginuid.so"}
|
||||
${optionalString cfg.makeHomeDir
|
||||
"session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"}
|
||||
${optionalString cfg.updateWtmp
|
||||
"session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
|
||||
${optionalString config.security.pam.enableEcryptfs
|
||||
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
|
||||
${optionalString use_ldap
|
||||
"session optional ${pam_ldap}/lib/security/pam_ldap.so"}
|
||||
${optionalString config.krb5.enable
|
||||
"session optional ${pam_krb5}/lib/security/pam_krb5.so"}
|
||||
${optionalString cfg.otpwAuth
|
||||
"session optional ${pkgs.otpw}/lib/security/pam_otpw.so"}
|
||||
${optionalString cfg.startSession
|
||||
"session optional ${pkgs.systemd}/lib/security/pam_systemd.so"}
|
||||
${optionalString cfg.forwardXAuth
|
||||
"session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99"}
|
||||
${optionalString (cfg.limits != [])
|
||||
"session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits}"}
|
||||
${optionalString (cfg.showMotd && config.users.motd != null)
|
||||
"session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd}"}
|
||||
${optionalString cfg.pamMount
|
||||
"session optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
|
||||
${optionalString (cfg.enableAppArmor && config.security.apparmor.enable)
|
||||
"session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug"}
|
||||
'');
|
||||
};
|
||||
|
||||
|
@ -18,7 +18,7 @@ with lib;
|
||||
config = mkIf config.security.rngd.enable {
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="random", TAG+="systemd"
|
||||
SUBSYSTEM=="cpu", ENV{MODALIAS}=="x86cpu:*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
|
||||
SUBSYSTEM=="cpu", ENV{MODALIAS}=="cpu:type:x86,*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
|
||||
KERNEL=="hw_random", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
|
||||
${if config.services.tcsd.enable then "" else ''KERNEL=="tpm0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"''}
|
||||
'';
|
||||
|
@ -1,88 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.monetdb;
|
||||
monetdbUser = "monetdb";
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.monetdb = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable MonetDB database server.";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.path;
|
||||
description = "MonetDB package to use.";
|
||||
};
|
||||
|
||||
dbfarmDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/monetdb";
|
||||
description = ''
|
||||
Specifies location of Monetdb dbfarm (keeps database and auxiliary files).
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
default = "50000";
|
||||
example = "50000";
|
||||
description = "Port to listen on.";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
users.extraUsers.monetdb =
|
||||
{ name = monetdbUser;
|
||||
uid = config.ids.uids.monetdb;
|
||||
description = "monetdb user";
|
||||
home = cfg.dbfarmDir;
|
||||
};
|
||||
|
||||
users.extraGroups.monetdb.gid = config.ids.gids.monetdb;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.monetdb =
|
||||
{ description = "MonetDB Server";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
after = [ "network.target" ];
|
||||
|
||||
path = [ cfg.package ];
|
||||
|
||||
preStart =
|
||||
''
|
||||
# Initialise the database.
|
||||
if ! test -e ${cfg.dbfarmDir}/.merovingian_properties; then
|
||||
mkdir -m 0700 -p ${cfg.dbfarmDir}
|
||||
chown -R ${monetdbUser} ${cfg.dbfarmDir}
|
||||
${cfg.package}/bin/monetdbd create ${cfg.dbfarmDir}
|
||||
${cfg.package}/bin/monetdbd set port=${cfg.port} ${cfg.dbfarmDir}
|
||||
fi
|
||||
'';
|
||||
|
||||
serviceConfig.ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dbfarmDir}";
|
||||
|
||||
serviceConfig.ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dbfarmDir}";
|
||||
|
||||
unitConfig.RequiresMountsFor = "${cfg.dbfarmDir}";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -59,17 +59,17 @@
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><varname>emacs</varname></term>
|
||||
<term><varname>emacs24</varname></term>
|
||||
<term><varname>emacs25</varname></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The latest stable version of Emacs 24 using the <link
|
||||
The latest stable version of Emacs 25 using the <link
|
||||
xlink:href="http://www.gtk.org">GTK+ 2</link> widget
|
||||
toolkit.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>emacs24-nox</varname></term>
|
||||
<term><varname>emacs25-nox</varname></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Emacs 24 built without any dependency on X11
|
||||
@ -86,15 +86,6 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>emacs25pre</varname></term>
|
||||
<listitem>
|
||||
<para>
|
||||
A pretest version of what will become the first
|
||||
version of Emacs 25.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
|
@ -22,7 +22,7 @@ in
|
||||
default = false;
|
||||
description = "
|
||||
Mount filesystems on demand. Unmount them automatically.
|
||||
You may also be interested in afuese.
|
||||
You may also be interested in afuse.
|
||||
";
|
||||
};
|
||||
|
||||
|
50
nixos/modules/services/networking/powerdns.nix
Normal file
50
nixos/modules/services/networking/powerdns.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.powerdns;
|
||||
configDir = pkgs.writeTextDir "pdns.conf" "${cfg.extraConfig}";
|
||||
in {
|
||||
options = {
|
||||
services.powerdns = {
|
||||
enable = mkEnableOption "Powerdns domain name server";
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "launch=bind";
|
||||
description = ''
|
||||
Extra lines to be added verbatim to pdns.conf.
|
||||
Powerdns will chroot to /var/lib/powerdns.
|
||||
So any file, powerdns is supposed to be read,
|
||||
should be in /var/lib/powerdns and needs to specified
|
||||
relative to the chroot.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf config.services.powerdns.enable {
|
||||
systemd.services.pdns = {
|
||||
unitConfig.Documentation = "man:pdns_server(1) man:pdns_control(1)";
|
||||
description = "Powerdns name server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = ["network.target" "mysql.service" "postgresql.service" "openldap.service"];
|
||||
|
||||
serviceConfig = {
|
||||
Restart="on-failure";
|
||||
RestartSec="1";
|
||||
StartLimitInterval="0";
|
||||
PrivateTmp=true;
|
||||
PrivateDevices=true;
|
||||
CapabilityBoundingSet="CAP_CHOWN CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT";
|
||||
NoNewPrivileges=true;
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/powerdns";
|
||||
ExecStart = "${pkgs.powerdns}/bin/pdns_server --setuid=nobody --setgid=nogroup --chroot=/var/lib/powerdns --socket-dir=/ --daemon=no --guardian=no --disable-syslog --write-pid=no --config-dir=${configDir}";
|
||||
ProtectSystem="full";
|
||||
ProtectHome=true;
|
||||
RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -12,9 +12,17 @@ let
|
||||
|
||||
interfaces = concatMapStrings (x: " interface: ${x}\n") cfg.interfaces;
|
||||
|
||||
forward = optionalString (length cfg.forwardAddresses != 0)
|
||||
"forward-zone:\n name: .\n" +
|
||||
concatMapStrings (x: " forward-addr: ${x}\n") cfg.forwardAddresses;
|
||||
isLocalAddress = x: substring 0 3 x == "::1" || substring 0 9 x == "127.0.0.1";
|
||||
|
||||
forward =
|
||||
optionalString (any isLocalAddress cfg.forwardAddresses) ''
|
||||
do-not-query-localhost: no
|
||||
'' +
|
||||
optionalString (cfg.forwardAddresses != []) ''
|
||||
forward-zone:
|
||||
name: .
|
||||
'' +
|
||||
concatMapStringsSep "\n" (x: " forward-addr: ${x}") cfg.forwardAddresses;
|
||||
|
||||
rootTrustAnchorFile = "${stateDir}/root.key";
|
||||
|
||||
@ -72,7 +80,11 @@ in
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = "Extra lines of unbound config.";
|
||||
description = ''
|
||||
Extra unbound config. See
|
||||
<citerefentry><refentrytitle>unbound.conf</refentrytitle><manvolnum>8
|
||||
</manvolnum></citerefentry>.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
@ -84,12 +96,9 @@ in
|
||||
|
||||
environment.systemPackages = [ pkgs.unbound ];
|
||||
|
||||
users.extraUsers = singleton {
|
||||
name = "unbound";
|
||||
uid = config.ids.uids.unbound;
|
||||
users.users.unbound = {
|
||||
description = "unbound daemon user";
|
||||
home = stateDir;
|
||||
createHome = true;
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
systemd.services.unbound = {
|
||||
@ -107,12 +116,16 @@ in
|
||||
chown unbound ${stateDir} ${rootTrustAnchorFile}
|
||||
''}
|
||||
touch ${stateDir}/dev/random
|
||||
${pkgs.utillinux}/bin/mount --bind -n /dev/random ${stateDir}/dev/random
|
||||
${pkgs.utillinux}/bin/mount --bind -n /dev/urandom ${stateDir}/dev/random
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.unbound}/bin/unbound -d -c ${stateDir}/unbound.conf";
|
||||
ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random";
|
||||
|
||||
ProtectSystem = true;
|
||||
ProtectHome = true;
|
||||
PrivateDevices = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -32,10 +32,10 @@ in
|
||||
e.efl e.enlightenment
|
||||
e.terminology e.econnman
|
||||
pkgs.xorg.xauth # used by kdesu
|
||||
pkgs.gtk # To get GTK+'s themes.
|
||||
pkgs.gtk2 # To get GTK+'s themes.
|
||||
pkgs.tango-icon-theme
|
||||
pkgs.shared_mime_info
|
||||
pkgs.gnome.gnomeicontheme
|
||||
pkgs.gnome2.gnomeicontheme
|
||||
pkgs.xorg.xcursorthemes
|
||||
];
|
||||
|
||||
|
@ -46,7 +46,7 @@ let
|
||||
HideUsers=${concatStringsSep "," dmcfg.hiddenUsers}
|
||||
HideShells=/run/current-system/sw/bin/nologin
|
||||
|
||||
[XDisplay]
|
||||
[X11]
|
||||
MinimumVT=${toString xcfg.tty}
|
||||
ServerPath=${xserverWrapper}
|
||||
XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr
|
||||
@ -100,7 +100,7 @@ in
|
||||
|
||||
theme = mkOption {
|
||||
type = types.str;
|
||||
default = "maui";
|
||||
default = "";
|
||||
description = ''
|
||||
Greeter theme to use.
|
||||
'';
|
||||
|
@ -6,7 +6,7 @@ let
|
||||
|
||||
cfg = config.services.xserver.windowManager.awesome;
|
||||
awesome = cfg.package;
|
||||
|
||||
inherit (pkgs.luaPackages) getLuaPath getLuaCPath;
|
||||
in
|
||||
|
||||
{
|
||||
@ -46,10 +46,8 @@ in
|
||||
{ name = "awesome";
|
||||
start =
|
||||
''
|
||||
${concatMapStrings (pkg: ''
|
||||
export LUA_CPATH=$LUA_CPATH''${LUA_CPATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.so
|
||||
export LUA_PATH=$LUA_PATH''${LUA_PATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.lua
|
||||
'') cfg.luaModules}
|
||||
export LUA_CPATH="${lib.concatStringsSep ";" (map getLuaCPath cfg.luaModules)}"
|
||||
export LUA_PATH="${lib.concatStringsSep ";" (map getLuaPath cfg.luaModules)}"
|
||||
|
||||
${awesome}/bin/awesome &
|
||||
waitPID=$!
|
||||
@ -59,5 +57,4 @@ in
|
||||
environment.systemPackages = [ awesome ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -85,10 +85,14 @@ in
|
||||
};
|
||||
|
||||
config = mkIf (config.boot.initrd.network.enable && cfg.enable) {
|
||||
assertions = [ {
|
||||
assertion = cfg.hostRSAKey != null || cfg.hostDSSKey != null || cfg.hostECDSAKey != null;
|
||||
assertions = [
|
||||
{ assertion = cfg.hostRSAKey != null || cfg.hostDSSKey != null || cfg.hostECDSAKey != null;
|
||||
message = "You should specify at least one host key for initrd SSH";
|
||||
} ];
|
||||
}
|
||||
{ assertion = cfg.authorizedKeys != [];
|
||||
message = "You should specify at least one authorized key for initrd SSH";
|
||||
}
|
||||
];
|
||||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.dropbear}/bin/dropbear
|
||||
|
@ -391,7 +391,7 @@ in
|
||||
};
|
||||
|
||||
networking.localCommands = mkOption {
|
||||
type = types.str;
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = "text=anything; echo You can put $text here.";
|
||||
description = ''
|
||||
|
@ -3,17 +3,19 @@
|
||||
, libSM, libsndfile, libogg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "freewheeling-100";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "freewheeling-${version}";
|
||||
version = "100";
|
||||
|
||||
src = fetchsvn {
|
||||
url = svn://svn.code.sf.net/p/freewheeling/code;
|
||||
rev = 100;
|
||||
rev = version;
|
||||
sha256 = "1m6z7p93xyha25qma9bazpzbp04pqdv5h3yrv6851775xsyvzksv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [
|
||||
pkgconfig autoreconfHook gnutls33 freetype SDL SDL_gfx SDL_ttf
|
||||
gnutls33 freetype SDL SDL_gfx SDL_ttf
|
||||
liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM
|
||||
];
|
||||
|
||||
@ -35,7 +37,6 @@ stdenv.mkDerivation {
|
||||
software, released under the GNU GPL license.
|
||||
'' ;
|
||||
|
||||
version = "r100";
|
||||
homepage = "http://freewheeling.sourceforge.net";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = [ stdenv.lib.maintainers.sepi ];
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 7a18f4cb77c567dec9ad924fcc76c50092de6ee7 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 23 Nov 2015 06:57:51 -0600
|
||||
Subject: [PATCH 2/2] fix ConfigReader QStringList corruption
|
||||
|
||||
---
|
||||
src/common/ConfigReader.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp
|
||||
index 5bf5a6a..34182e6 100644
|
||||
--- a/src/common/ConfigReader.cpp
|
||||
+++ b/src/common/ConfigReader.cpp
|
||||
@@ -30,7 +30,8 @@
|
||||
|
||||
QTextStream &operator>>(QTextStream &str, QStringList &list) {
|
||||
list.clear();
|
||||
- foreach(const QStringRef &s, str.readLine().splitRef(QLatin1Char(',')))
|
||||
+ QString line = str.readLine();
|
||||
+ foreach(const QStringRef &s, line.splitRef(QLatin1Char(',')))
|
||||
{
|
||||
QStringRef trimmed = s.trimmed();
|
||||
if (!trimmed.isEmpty())
|
||||
--
|
||||
2.6.3
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, makeQtWrapper, fetchFromGitHub, fetchpatch
|
||||
, cmake, pkgconfig, libxcb, libpthreadstubs, lndir
|
||||
, cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs, lndir
|
||||
, libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd
|
||||
, themes
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
unwrapped = stdenv.mkDerivation rec {
|
||||
name = "sddm-unwrapped-${version}";
|
||||
@ -14,19 +14,18 @@ let
|
||||
owner = "sddm";
|
||||
repo = "sddm";
|
||||
rev = "v${version}";
|
||||
sha256 = "0c3q8lpb123m9k5x3i71mm8lmyzhknw77zxh89yfl8qmn6zd61i1";
|
||||
sha256 = "0wwid23kw0725zpw67zchalg9mmharr7sn4yzhijq7wqpsczjfxj";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-ignore-config-mtime.patch
|
||||
./0002-fix-ConfigReader-QStringList-corruption.patch
|
||||
(fetchpatch {
|
||||
url = https://github.com/benjarobin/sddm/commit/7d05362e3c7c5945ad85b0176771bc1c5a370598.patch;
|
||||
sha256 = "17f174lsb8vm7k1vx00yiqcipyyr6hgg4rm1rclps7saapfah5sj";
|
||||
(fetchpatch { /* Fix display of user avatars. */
|
||||
url = https://github.com/sddm/sddm/commit/ecb903e48822bd90650bdd64fe80754e3e9664cb.patch;
|
||||
sha256 = "0zm88944pwdad8grmv0xwnxl23xml85ryc71x2xac233jxdyx6ms";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig qttools ];
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ];
|
||||
|
||||
buildInputs = [
|
||||
libxcb libpthreadstubs libXdmcp libXau qtbase pam systemd
|
||||
|
34
pkgs/applications/editors/deadpixi-sam/default.nix
Normal file
34
pkgs/applications/editors/deadpixi-sam/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchFromGitHub, freetype, libX11, libXt, libXft
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deadpixi-sam-unstable";
|
||||
version = "2016-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "deadpixi";
|
||||
repo = "sam";
|
||||
rev = "a6a8872246e8634d884b0ce52bc3be9770ab1b0f";
|
||||
sha256 = "1zr8dl0vp1xic3dq69h4bp2fcxsjhrzasfl6ayvkibjd6z5dn07p";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace config.mk.def \
|
||||
--replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2"
|
||||
'';
|
||||
|
||||
makeFlags = [ "DESTDIR=$(out)" ];
|
||||
buildInputs = [ libX11 libXt libXft ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/applications
|
||||
mv deadpixi-sam.desktop $out/share/applications
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Updated version of the sam text editor";
|
||||
license = with licenses; lpl-102;
|
||||
maintainers = with maintainers; [ ramkromberg ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
# This hook is supposed to be run on Linux. It patches the proper locations of
|
||||
# the crt{1,i,n}.o files into the build to ensure that Emacs is linked with
|
||||
# *our* versions, not the ones found in the system, as it would do by default.
|
||||
# On other platforms, this appears to be unnecessary.
|
||||
preConfigure() {
|
||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
|
||||
case "${system}" in
|
||||
x86_64-linux) glibclibdir=lib64 ;;
|
||||
i686-linux) glibclibdir=lib ;;
|
||||
*) return;
|
||||
esac
|
||||
|
||||
libc=$(cat ${NIX_CC}/nix-support/orig-libc)
|
||||
echo "libc: $libc"
|
||||
|
||||
for i in src/s/*.h src/m/*.h; do
|
||||
substituteInPlace $i \
|
||||
--replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
|
||||
--replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
|
||||
--replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
|
||||
--replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
|
||||
--replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
|
||||
--replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
|
||||
done
|
||||
}
|
||||
|
||||
preInstall () {
|
||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
}
|
||||
|
||||
genericBuild
|
@ -1,111 +0,0 @@
|
||||
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
|
||||
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
|
||||
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
|
||||
, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
|
||||
, withX ? !stdenv.isDarwin
|
||||
, withGTK3 ? false, gtk3 ? null
|
||||
, withGTK2 ? true, gtk2
|
||||
, enableTTYTrueColor ? false
|
||||
}:
|
||||
|
||||
assert (libXft != null) -> libpng != null; # probably a bug
|
||||
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
|
||||
assert withGTK2 -> withX || stdenv.isDarwin;
|
||||
assert withGTK3 -> withX || stdenv.isDarwin;
|
||||
assert withGTK2 -> !withGTK3 && gtk2 != null;
|
||||
assert withGTK3 -> !withGTK2 && gtk3 != null;
|
||||
|
||||
let
|
||||
toolkit =
|
||||
if withGTK3 then "gtk3"
|
||||
else if withGTK2 then "gtk2"
|
||||
else "lucid";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-24.5";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/emacs/${name}.tar.xz";
|
||||
sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
./at-fdcwd.patch
|
||||
] ++ lib.optionals enableTTYTrueColor [
|
||||
# Modified TTY True Color patch from: https://gist.github.com/choppsv1/36aacdd696d505566088
|
||||
# To use, pass --color=true-color, which will default to using ';'
|
||||
# as the separator.
|
||||
# Alternatively, set $EMACS_TRUE_COLOR_SEPARATOR to ';' or ':'.
|
||||
./tty-true-color.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el
|
||||
# emacs runs then dumps itself. In the process, it keeps a copy of the
|
||||
# PATH env var, holding all the build inputs in it's closure.
|
||||
# Prevent that by running the self-dumping emacs with an empty PATH.
|
||||
sed -i 's|^RUN_TEMACS = |&PATH= |' src/Makefile.in
|
||||
'';
|
||||
|
||||
buildInputs =
|
||||
[ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo acl gpm gettext ]
|
||||
++ stdenv.lib.optional stdenv.isLinux dbus
|
||||
++ stdenv.lib.optionals withX
|
||||
[ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
|
||||
imagemagick gconf ]
|
||||
++ stdenv.lib.optional (withX && withGTK2) gtk2
|
||||
++ stdenv.lib.optional (withX && withGTK3) gtk3
|
||||
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
|
||||
|
||||
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
|
||||
|
||||
configureFlags =
|
||||
if stdenv.isDarwin
|
||||
then [ "--with-ns" "--disable-ns-self-contained" ]
|
||||
else if withX
|
||||
then [ "--with-x-toolkit=${toolkit}" "--with-xft" ]
|
||||
else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
|
||||
"--with-gif=no" "--with-tiff=no" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE =
|
||||
[ "-ffreestanding" ] # needed due to glibc 2.24 upgrade (see https://sourceware.org/glibc/wiki/Release/2.24#Known_Issues)
|
||||
++ stdenv.lib.optional (stdenv.isDarwin && withX) "-I${cairo.dev}/include/cairo";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/emacs/site-lisp/
|
||||
cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv nextstep/Emacs.app $out/Applications
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNU Emacs 24, the extensible, customizable text editor";
|
||||
homepage = http://www.gnu.org/software/emacs/;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ];
|
||||
platforms = platforms.all;
|
||||
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,428 +0,0 @@
|
||||
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el
|
||||
index 98108ce..21814a9 100644
|
||||
--- a/lisp/term/tty-colors.el
|
||||
+++ b/lisp/term/tty-colors.el
|
||||
@@ -764,7 +764,8 @@
|
||||
(auto . 0)
|
||||
(ansi8 . 8)
|
||||
(always . 8)
|
||||
- (yes . 8))
|
||||
+ (yes . 8)
|
||||
+ (true-color . 16777216))
|
||||
"An alist of supported standard tty color modes and their aliases.")
|
||||
|
||||
(defun tty-color-alist (&optional _frame)
|
||||
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
|
||||
index c673749..244cf7f 100644
|
||||
--- a/lisp/term/xterm.el
|
||||
+++ b/lisp/term/xterm.el
|
||||
@@ -674,6 +674,15 @@ versions of xterm."
|
||||
;; are more colors to support, compute them now.
|
||||
(when (> ncolors 0)
|
||||
(cond
|
||||
+ ((= (display-color-cells (selected-frame)) 16777216) ; 24-bit xterm
|
||||
+ (let ((idx (length xterm-standard-colors)))
|
||||
+ ;; Insert standard X colors after the standard xterm ones
|
||||
+ (mapc (lambda (color)
|
||||
+ (if (not (assoc (car color) xterm-standard-colors))
|
||||
+ (progn
|
||||
+ (tty-color-define (car color) idx (cdr color))
|
||||
+ (setq idx (1+ idx)))))
|
||||
+ color-name-rgb-alist)))
|
||||
((= ncolors 240) ; 256-color xterm
|
||||
;; 216 non-gray colors first
|
||||
(let ((r 0) (g 0) (b 0))
|
||||
diff --git a/src/dispextern.h b/src/dispextern.h
|
||||
index 239c442..5760b84 100644
|
||||
--- a/src/dispextern.h
|
||||
+++ b/src/dispextern.h
|
||||
@@ -1739,9 +1739,15 @@ struct face
|
||||
INLINE bool
|
||||
face_tty_specified_color (unsigned long color)
|
||||
{
|
||||
- return color < FACE_TTY_DEFAULT_BG_COLOR;
|
||||
+ return (color < FACE_TTY_DEFAULT_BG_COLOR);
|
||||
}
|
||||
|
||||
+INLINE bool
|
||||
+face_tty_specified_24_bit_color (unsigned long color)
|
||||
+{
|
||||
+ /* 24 bit colors have 24th but not 25th bit set */
|
||||
+ return ((color & (0x03 << 24)) == (0x01 << 24));
|
||||
+}
|
||||
/* Non-zero if FACE was realized for unibyte use. */
|
||||
|
||||
#define FACE_UNIBYTE_P(FACE) ((FACE)->charset < 0)
|
||||
diff --git a/src/term.c b/src/term.c
|
||||
index 8312491..b14aded 100644
|
||||
--- a/src/term.c
|
||||
+++ b/src/term.c
|
||||
@@ -1915,18 +1915,40 @@ turn_on_face (struct frame *f, int face_id)
|
||||
const char *ts;
|
||||
char *p;
|
||||
|
||||
- ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground;
|
||||
+ if (face_tty_specified_24_bit_color(fg))
|
||||
+ ts = tty->standout_mode ? tty->TS_set_rgb_background : tty->TS_set_rgb_foreground;
|
||||
+ else
|
||||
+ ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground;
|
||||
if (face_tty_specified_color (fg) && ts)
|
||||
{
|
||||
- p = tparam (ts, NULL, 0, fg, 0, 0, 0);
|
||||
+ if (!face_tty_specified_24_bit_color(fg))
|
||||
+ p = tparam (ts, NULL, 0, fg, 0, 0, 0);
|
||||
+ else
|
||||
+ {
|
||||
+ const unsigned char r = (fg >> 16) & 0xFF,
|
||||
+ g = (fg >> 8) & 0xFF,
|
||||
+ b = fg & 0xFF;
|
||||
+ p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0);
|
||||
+ }
|
||||
OUTPUT (tty, p);
|
||||
xfree (p);
|
||||
}
|
||||
|
||||
- ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background;
|
||||
+ if (face_tty_specified_24_bit_color(bg))
|
||||
+ ts = tty->standout_mode ? tty->TS_set_rgb_foreground : tty->TS_set_rgb_background;
|
||||
+ else
|
||||
+ ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background;
|
||||
if (face_tty_specified_color (bg) && ts)
|
||||
{
|
||||
- p = tparam (ts, NULL, 0, bg, 0, 0, 0);
|
||||
+ if (!face_tty_specified_24_bit_color(bg))
|
||||
+ p = tparam (ts, NULL, 0, bg, 0, 0, 0);
|
||||
+ else
|
||||
+ {
|
||||
+ const unsigned char r = (bg >> 16) & 0xFF,
|
||||
+ g = (bg >> 8) & 0xFF,
|
||||
+ b = bg & 0xFF;
|
||||
+ p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0);
|
||||
+ }
|
||||
OUTPUT (tty, p);
|
||||
xfree (p);
|
||||
}
|
||||
@@ -2028,6 +2050,8 @@ TERMINAL does not refer to a text terminal. */)
|
||||
struct terminal *t = get_tty_terminal (terminal, 0);
|
||||
if (!t)
|
||||
return make_number (0);
|
||||
+ else if (t->display_info.tty->TS_set_rgb_foreground)
|
||||
+ return make_number (16777216); /* 24 bit True Color */
|
||||
else
|
||||
return make_number (t->display_info.tty->TN_max_colors);
|
||||
}
|
||||
@@ -2043,6 +2067,8 @@ static int default_no_color_video;
|
||||
static char *default_orig_pair;
|
||||
static char *default_set_foreground;
|
||||
static char *default_set_background;
|
||||
+static char *default_set_rgb_foreground;
|
||||
+static char *default_set_rgb_background;
|
||||
|
||||
/* Save or restore the default color-related capabilities of this
|
||||
terminal. */
|
||||
@@ -2055,6 +2081,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save)
|
||||
dupstring (&default_orig_pair, tty->TS_orig_pair);
|
||||
dupstring (&default_set_foreground, tty->TS_set_foreground);
|
||||
dupstring (&default_set_background, tty->TS_set_background);
|
||||
+ dupstring (&default_set_rgb_foreground, tty->TS_set_rgb_foreground);
|
||||
+ dupstring (&default_set_rgb_background, tty->TS_set_rgb_background);
|
||||
default_max_colors = tty->TN_max_colors;
|
||||
default_max_pairs = tty->TN_max_pairs;
|
||||
default_no_color_video = tty->TN_no_color_video;
|
||||
@@ -2064,6 +2092,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save)
|
||||
tty->TS_orig_pair = default_orig_pair;
|
||||
tty->TS_set_foreground = default_set_foreground;
|
||||
tty->TS_set_background = default_set_background;
|
||||
+ tty->TS_set_rgb_foreground = default_set_rgb_foreground;
|
||||
+ tty->TS_set_rgb_background = default_set_rgb_background;
|
||||
tty->TN_max_colors = default_max_colors;
|
||||
tty->TN_max_pairs = default_max_pairs;
|
||||
tty->TN_no_color_video = default_no_color_video;
|
||||
@@ -2088,6 +2118,7 @@ tty_setup_colors (struct tty_display_info *tty, int mode)
|
||||
tty->TN_max_pairs = 0;
|
||||
tty->TN_no_color_video = 0;
|
||||
tty->TS_set_foreground = tty->TS_set_background = tty->TS_orig_pair = NULL;
|
||||
+ tty->TS_set_rgb_foreground = tty->TS_set_rgb_background = NULL;
|
||||
break;
|
||||
case 0: /* default colors, if any */
|
||||
default:
|
||||
@@ -2102,10 +2133,45 @@ tty_setup_colors (struct tty_display_info *tty, int mode)
|
||||
tty->TS_set_foreground = "\033[3%dm";
|
||||
tty->TS_set_background = "\033[4%dm";
|
||||
#endif
|
||||
+ tty->TS_set_rgb_foreground = NULL;
|
||||
+ tty->TS_set_rgb_background = NULL;
|
||||
tty->TN_max_colors = 8;
|
||||
tty->TN_max_pairs = 64;
|
||||
tty->TN_no_color_video = 0;
|
||||
break;
|
||||
+ case 16777216: /* RGB colors */
|
||||
+ tty->TS_orig_pair = "\033[0m";
|
||||
+
|
||||
+ /* if the user hasn't explicitly chosen the ":" separator, use ";". */
|
||||
+ char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR");
|
||||
+ if (true_color_separator && strcmp (true_color_separator, ":") == 0)
|
||||
+ {
|
||||
+ /* XXX chopps use ITU T.421 ':' separator */
|
||||
+ /* TODO This should be extracted from terminfo/termcap. */
|
||||
+#ifdef TERMINFO
|
||||
+ tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm";
|
||||
+#else
|
||||
+ tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm";
|
||||
+#endif
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ /* TODO This should be extracted from terminfo/termcap. */
|
||||
+#ifdef TERMINFO
|
||||
+ tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm";
|
||||
+#else
|
||||
+ tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm";
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ tty->TN_max_colors = 16777216;
|
||||
+ /*tty->TN_max_pairs = 64; TODO */
|
||||
+ tty->TN_no_color_video = 0;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4201,6 +4267,38 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
|
||||
tty->TN_no_color_video = tgetnum ("NC");
|
||||
if (tty->TN_no_color_video == -1)
|
||||
tty->TN_no_color_video = 0;
|
||||
+
|
||||
+
|
||||
+ /* Allow the user to opt-in to True Color support. */
|
||||
+ char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR");
|
||||
+ if (true_color_separator && strcmp (true_color_separator, ";") == 0)
|
||||
+ {
|
||||
+ /* TODO This should be extracted from terminfo/termcap. */
|
||||
+#ifdef TERMINFO
|
||||
+ tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm";
|
||||
+#else
|
||||
+ tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm";
|
||||
+#endif
|
||||
+ }
|
||||
+ else if (true_color_separator && strcmp (true_color_separator, ":") == 0)
|
||||
+ {
|
||||
+ /* XXX chopps use ITU T.421 ':' separator */
|
||||
+ /* TODO This should be extracted from terminfo/termcap. */
|
||||
+#ifdef TERMINFO
|
||||
+ tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm";
|
||||
+#else
|
||||
+ tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm";
|
||||
+ tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm";
|
||||
+#endif
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ tty->TS_set_rgb_foreground = NULL;
|
||||
+ tty->TS_set_rgb_background = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
tty_default_color_capabilities (tty, 1);
|
||||
diff --git a/src/termchar.h b/src/termchar.h
|
||||
index d8066d7..e48d583 100644
|
||||
--- a/src/termchar.h
|
||||
+++ b/src/termchar.h
|
||||
@@ -157,6 +157,10 @@ struct tty_display_info
|
||||
const char *TS_set_foreground;
|
||||
const char *TS_set_background;
|
||||
|
||||
+ /* Support for 24bit RGB color terminals. */
|
||||
+ const char *TS_set_rgb_foreground;
|
||||
+ const char *TS_set_rgb_background;
|
||||
+
|
||||
int TF_hazeltine; /* termcap hz flag. */
|
||||
int TF_insmode_motion; /* termcap mi flag: can move while in insert mode. */
|
||||
int TF_standout_motion; /* termcap mi flag: can move while in standout mode. */
|
||||
diff --git a/src/xfaces.c b/src/xfaces.c
|
||||
index 29c91f7..347ebf8 100644
|
||||
--- a/src/xfaces.c
|
||||
+++ b/src/xfaces.c
|
||||
@@ -382,7 +382,7 @@ static ptrdiff_t lface_id_to_name_size;
|
||||
|
||||
/* TTY color-related functions (defined in tty-colors.el). */
|
||||
|
||||
-static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values;
|
||||
+static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values, Qtty_color_canonicalize;
|
||||
|
||||
/* The name of the function used to compute colors on TTYs. */
|
||||
|
||||
@@ -943,54 +943,80 @@ tty_lookup_color (struct frame *f, Lisp_Object color, XColor *tty_color,
|
||||
if (!STRINGP (color) || NILP (Ffboundp (Qtty_color_desc)))
|
||||
return 0;
|
||||
|
||||
- XSETFRAME (frame, f);
|
||||
-
|
||||
- color_desc = call2 (Qtty_color_desc, color, frame);
|
||||
- if (CONSP (color_desc) && CONSP (XCDR (color_desc)))
|
||||
+ if (f->output_method == output_termcap
|
||||
+ && f->output_data.tty->display_info->TS_set_rgb_foreground
|
||||
+ && !NILP (Ffboundp (Qtty_color_standard_values)))
|
||||
{
|
||||
- Lisp_Object rgb;
|
||||
-
|
||||
- if (! INTEGERP (XCAR (XCDR (color_desc))))
|
||||
- return 0;
|
||||
+ /* Terminal supports 3 byte RGB colors. */
|
||||
+ if (!NILP (Ffboundp (Qtty_color_canonicalize)))
|
||||
+ color = call1(Qtty_color_canonicalize, color);
|
||||
|
||||
- tty_color->pixel = XINT (XCAR (XCDR (color_desc)));
|
||||
+ color_desc = call1 (Qtty_color_standard_values, color);
|
||||
+ if (! parse_rgb_list (color_desc, tty_color))
|
||||
+ return 0;
|
||||
|
||||
- rgb = XCDR (XCDR (color_desc));
|
||||
- if (! parse_rgb_list (rgb, tty_color))
|
||||
- return 0;
|
||||
+ /* Map XColor to 3 byte values. */
|
||||
+ tty_color->pixel = 1 << 24 /* Set bit 24 to mark RGB values. */
|
||||
+ | (tty_color->red / 256) << 16
|
||||
+ | (tty_color->green / 256) << 8
|
||||
+ | (tty_color->blue / 256);
|
||||
|
||||
- /* Should we fill in STD_COLOR too? */
|
||||
if (std_color)
|
||||
- {
|
||||
- /* Default STD_COLOR to the same as TTY_COLOR. */
|
||||
- *std_color = *tty_color;
|
||||
-
|
||||
- /* Do a quick check to see if the returned descriptor is
|
||||
- actually _exactly_ equal to COLOR, otherwise we have to
|
||||
- lookup STD_COLOR separately. If it's impossible to lookup
|
||||
- a standard color, we just give up and use TTY_COLOR. */
|
||||
- if ((!STRINGP (XCAR (color_desc))
|
||||
- || NILP (Fstring_equal (color, XCAR (color_desc))))
|
||||
- && !NILP (Ffboundp (Qtty_color_standard_values)))
|
||||
- {
|
||||
- /* Look up STD_COLOR separately. */
|
||||
- rgb = call1 (Qtty_color_standard_values, color);
|
||||
- if (! parse_rgb_list (rgb, std_color))
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
+ *std_color = *tty_color;
|
||||
|
||||
return 1;
|
||||
}
|
||||
- else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist"))))
|
||||
- /* We were called early during startup, and the colors are not
|
||||
- yet set up in tty-defined-color-alist. Don't return a failure
|
||||
- indication, since this produces the annoying "Unable to
|
||||
- load color" messages in the *Messages* buffer. */
|
||||
- return 1;
|
||||
else
|
||||
- /* tty-color-desc seems to have returned a bad value. */
|
||||
- return 0;
|
||||
+ {
|
||||
+ XSETFRAME (frame, f);
|
||||
+
|
||||
+ color_desc = call2 (Qtty_color_desc, color, frame);
|
||||
+ if (CONSP (color_desc) && CONSP (XCDR (color_desc)))
|
||||
+ {
|
||||
+ Lisp_Object rgb;
|
||||
+
|
||||
+ if (! INTEGERP (XCAR (XCDR (color_desc))))
|
||||
+ return 0;
|
||||
+
|
||||
+ tty_color->pixel = XINT (XCAR (XCDR (color_desc)));
|
||||
+
|
||||
+ rgb = XCDR (XCDR (color_desc));
|
||||
+ if (! parse_rgb_list (rgb, tty_color))
|
||||
+ return 0;
|
||||
+
|
||||
+ /* Should we fill in STD_COLOR too? */
|
||||
+ if (std_color)
|
||||
+ {
|
||||
+ /* Default STD_COLOR to the same as TTY_COLOR. */
|
||||
+ *std_color = *tty_color;
|
||||
+
|
||||
+ /* Do a quick check to see if the returned descriptor is
|
||||
+ actually _exactly_ equal to COLOR, otherwise we have to
|
||||
+ lookup STD_COLOR separately. If it's impossible to lookup
|
||||
+ a standard color, we just give up and use TTY_COLOR. */
|
||||
+ if ((!STRINGP (XCAR (color_desc))
|
||||
+ || NILP (Fstring_equal (color, XCAR (color_desc))))
|
||||
+ && !NILP (Ffboundp (Qtty_color_standard_values)))
|
||||
+ {
|
||||
+ /* Look up STD_COLOR separately. */
|
||||
+ rgb = call1 (Qtty_color_standard_values, color);
|
||||
+ if (! parse_rgb_list (rgb, std_color))
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+ }
|
||||
+ else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist"))))
|
||||
+ /* We were called early during startup, and the colors are not
|
||||
+ yet set up in tty-defined-color-alist. Don't return a failure
|
||||
+ indication, since this produces the annoying "Unable to
|
||||
+ load color" messages in the *Messages* buffer. */
|
||||
+ return 1;
|
||||
+ else
|
||||
+ /* tty-color-desc seems to have returned a bad value. */
|
||||
+ return 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* A version of defined_color for non-X frames. */
|
||||
@@ -1008,7 +1034,9 @@ tty_defined_color (struct frame *f, const char *color_name,
|
||||
color_def->green = 0;
|
||||
|
||||
if (*color_name)
|
||||
- status = tty_lookup_color (f, build_string (color_name), color_def, NULL);
|
||||
+ {
|
||||
+ status = tty_lookup_color (f, build_string (color_name), color_def, NULL);
|
||||
+ }
|
||||
|
||||
if (color_def->pixel == FACE_TTY_DEFAULT_COLOR && *color_name)
|
||||
{
|
||||
@@ -5780,6 +5808,7 @@ map_tty_color (struct frame *f, struct face *face,
|
||||
unsigned long default_pixel =
|
||||
foreground_p ? FACE_TTY_DEFAULT_FG_COLOR : FACE_TTY_DEFAULT_BG_COLOR;
|
||||
unsigned long pixel = default_pixel;
|
||||
+ XColor true_color;
|
||||
#ifdef MSDOS
|
||||
unsigned long default_other_pixel =
|
||||
foreground_p ? FACE_TTY_DEFAULT_BG_COLOR : FACE_TTY_DEFAULT_FG_COLOR;
|
||||
@@ -5798,7 +5827,18 @@ map_tty_color (struct frame *f, struct face *face,
|
||||
{
|
||||
/* Associations in tty-defined-color-alist are of the form
|
||||
(NAME INDEX R G B). We need the INDEX part. */
|
||||
- pixel = XINT (XCAR (XCDR (def)));
|
||||
+ if (f->output_method == output_termcap
|
||||
+ && f->output_data.tty->display_info->TS_set_rgb_foreground
|
||||
+ && parse_rgb_list (XCDR (XCDR(def)), &true_color))
|
||||
+ {
|
||||
+ /* Map XColor to 3 byte values. */
|
||||
+ pixel = 1 << 24 /* Set bit 24 to mark RGB values. */
|
||||
+ | (true_color.red / 256) << 16
|
||||
+ | (true_color.green / 256) << 8
|
||||
+ | (true_color.blue / 256);
|
||||
+ }
|
||||
+ else
|
||||
+ pixel = XINT (XCAR (XCDR (def)));
|
||||
}
|
||||
|
||||
if (pixel == default_pixel && STRINGP (color))
|
||||
@@ -6460,6 +6500,7 @@ syms_of_xfaces (void)
|
||||
DEFSYM (Qwindow_divider, "window-divider");
|
||||
DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel");
|
||||
DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel");
|
||||
+ DEFSYM (Qtty_color_canonicalize, "tty-color-canonicalize");
|
||||
DEFSYM (Qtty_color_desc, "tty-color-desc");
|
||||
DEFSYM (Qtty_color_standard_values, "tty-color-standard-values");
|
||||
DEFSYM (Qtty_color_by_index, "tty-color-by-index");
|
@ -1,15 +0,0 @@
|
||||
diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h
|
||||
index 84ede3e..8e8f42e 100644
|
||||
--- a/lib/careadlinkat.h
|
||||
+++ b/lib/careadlinkat.h
|
||||
@@ -23,6 +23,10 @@
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
+#ifndef AT_FDCWD
|
||||
+#define AT_FDCWD -2
|
||||
+#endif
|
||||
+
|
||||
struct allocator;
|
||||
|
||||
/* Assuming the current directory is FD, get the symbolic link value
|
@ -1,17 +0,0 @@
|
||||
;; NixOS specific load-path
|
||||
(setq load-path
|
||||
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
|
||||
(split-string (or (getenv "NIX_PROFILES") ""))))
|
||||
load-path))
|
||||
|
||||
;;; Make `woman' find the man pages
|
||||
(eval-after-load 'woman
|
||||
'(setq woman-manpath
|
||||
(append (reverse (mapcar (lambda (x) (concat x "/share/man/"))
|
||||
(split-string (or (getenv "NIX_PROFILES") ""))))
|
||||
woman-manpath)))
|
||||
|
||||
;; Make tramp work for remote NixOS machines
|
||||
;;; NOTE: You might want to add
|
||||
(eval-after-load 'tramp
|
||||
'(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
|
@ -1336,10 +1336,10 @@
|
||||
}) {};
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20160905";
|
||||
version = "20160912";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-20160905.tar";
|
||||
sha256 = "118xq8bsiwa6nfxm14ww5dmyf5r0cv69lf748cj39bcvg1qm94vn";
|
||||
url = "https://elpa.gnu.org/packages/org-20160912.tar";
|
||||
sha256 = "0g44hcyk9x0103mfkmkbrn4f36vlyrfxil1qd3fpwardcnaxr5w4";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -1529,10 +1529,10 @@
|
||||
rudel = callPackage ({ cl-generic, cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "rudel";
|
||||
version = "0.3";
|
||||
version = "0.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rudel-0.3.tar";
|
||||
sha256 = "041yac9a7hbz1fpmjlmc31ggcgg90fmw08z6bkzly2141yky8yh1";
|
||||
url = "https://elpa.gnu.org/packages/rudel-0.3.1.tar";
|
||||
sha256 = "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz";
|
||||
};
|
||||
packageRequires = [ cl-generic cl-lib emacs ];
|
||||
meta = {
|
||||
@ -1687,10 +1687,10 @@
|
||||
}) {};
|
||||
stream = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||
pname = "stream";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/stream-2.2.1.el";
|
||||
sha256 = "1d91ddak5whb7kln216vhcsl707h5kirc6aqbkw82skhpg4c3ap1";
|
||||
url = "https://elpa.gnu.org/packages/stream-2.2.2.el";
|
||||
sha256 = "00p24ipn8frlhhwzrz6za7dq4fkhs8i8cwp48yhsq9zpnj9y38xb";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1648,12 +1648,12 @@
|
||||
auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }:
|
||||
melpaBuild {
|
||||
pname = "auth-password-store";
|
||||
version = "1.0.4";
|
||||
version = "1.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DamienCassou";
|
||||
repo = "auth-password-store";
|
||||
rev = "209663c772105ae87d244cce9247695823914a00";
|
||||
sha256 = "1b6g7qvrxv6gkl4izq1y7k0x0l7izyfnpki10di5vdv3jp6xg9b2";
|
||||
rev = "7b399fd7eb4a19f32d93ec6dc0eb3a344d2687aa";
|
||||
sha256 = "021iqwn4lwpsx02m3ns8l3bn5dvssii5sk9vg32mh56fjpbi2dkj";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
|
||||
@ -3565,12 +3565,12 @@
|
||||
cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
|
||||
melpaBuild {
|
||||
pname = "cliphist";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "redguardtoo";
|
||||
repo = "cliphist";
|
||||
rev = "7a1a8a6dcc046c7ede4480315c539c06e1bbadc9";
|
||||
sha256 = "0h856l6rslawf3vg37xhsaw5w56r9qlwzbqapg751qg0v7wf0860";
|
||||
rev = "5cddd9c0b3aacc9941214a749edd19ceb2cde7f4";
|
||||
sha256 = "0hifxb3r54yinlal6bwhycwaspbz1kwkybvrcppkpdfg9jd88nfd";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
|
||||
@ -3636,22 +3636,22 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
cljr-helm = callPackage ({ clj-refactor, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
|
||||
cljr-helm = callPackage ({ cl-lib ? null, clj-refactor, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "cljr-helm";
|
||||
version = "0.7";
|
||||
version = "0.11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "philjackson";
|
||||
repo = "cljr-helm";
|
||||
rev = "916d070503d0f484f36626c7a42f156b737e3fab";
|
||||
sha256 = "18gv8vmmpiyq16cq4nr9nk2bmc5y2rsv21wjl4ji29rc7566shha";
|
||||
rev = "f2fc7b698a56e4a44d5dfbc6a55d77a93c0fa9a4";
|
||||
sha256 = "0jy6hkz8sr1bplymwxnjg4q408cw2dgfrv70chlw3y5ddc4cingj";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d99b67e295ef59916211bf22b57b4d093e3d53ab/recipes/cljr-helm";
|
||||
sha256 = "108a1xgnc6qy088vs41j3npwk25a5vny0xx4r3yh76jsmpdpcgnc";
|
||||
name = "cljr-helm";
|
||||
};
|
||||
packageRequires = [ clj-refactor helm ];
|
||||
packageRequires = [ cl-lib clj-refactor helm-core ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/cljr-helm";
|
||||
license = lib.licenses.free;
|
||||
@ -3807,12 +3807,12 @@
|
||||
cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "cm-mode";
|
||||
version = "1.2";
|
||||
version = "1.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "joostkremers";
|
||||
repo = "criticmarkup-emacs";
|
||||
rev = "1ac0d64842eb303323f2ebea61b4b6ba9f72969c";
|
||||
sha256 = "1rwln3ms71fys3rdv3sx8w706aqn874im3kqcfrkxz86wiazm2d5";
|
||||
rev = "12b7460691dc502d27329d6ac11c51cc83cd098e";
|
||||
sha256 = "018limfwcb396yr2kn6jixxdmpmiif3l7gp0p1pmwbg07fldllha";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode";
|
||||
@ -4692,6 +4692,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
|
||||
melpaBuild {
|
||||
pname = "conda";
|
||||
version = "0.0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "necaris";
|
||||
repo = "conda.el";
|
||||
rev = "d5bfe6ef6c2adecd1791ed87e3efb55208c0c7c1";
|
||||
sha256 = "1pvhm8j49ixlp9jd1zfjzw0rnhjyy1jyipacagsqcyssq6p6khyw";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
|
||||
sha256 = "1hi292h6ccl7vkvyxcwwcdxw8q2brv3hy0mnlikzj2qy5pbnfg4y";
|
||||
name = "conda";
|
||||
};
|
||||
packageRequires = [ dash emacs f pythonic s ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/conda";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
conkeror-minor-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "conkeror-minor-mode";
|
||||
@ -5031,12 +5052,12 @@
|
||||
csharp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "csharp-mode";
|
||||
version = "0.8.12";
|
||||
version = "0.9.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "josteink";
|
||||
repo = "csharp-mode";
|
||||
rev = "b4fb58af022a60c1c8161475e9c3fa023a0f9816";
|
||||
sha256 = "0dqih7cy57sciqn5vz5fiwynpld96qldyl7jcgn9qpwnzb401ayx";
|
||||
rev = "6c0a0d6cf602666d63a06c3652ce522b3a5a7661";
|
||||
sha256 = "1pw96s0675rf35hwaxdzids9s8ynkb0g66yximiiz6ryh4ama0wn";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode";
|
||||
@ -5260,12 +5281,12 @@
|
||||
darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "darktooth-theme";
|
||||
version = "0.1.44";
|
||||
version = "0.1.48";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacsfodder";
|
||||
repo = "emacs-theme-darktooth";
|
||||
rev = "839c94048e0a3e9ac6e286212c7626f3fb7ac2c9";
|
||||
sha256 = "1nagwhd8n69iysa4m5i7xxi06w6z4hsrvjsgmdg5msyi14ci5lip";
|
||||
rev = "a9891537f5d49fae2deb631fea0752ab61d3852e";
|
||||
sha256 = "19gwhhspkyrnyf277g8kpk57f9l0fp16jaj8va0j1qh1n64fxazn";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
|
||||
@ -6220,6 +6241,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
doom-themes = callPackage ({ all-the-icons, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "doom-themes";
|
||||
version = "1.0.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hlissner";
|
||||
repo = "emacs-doom-theme";
|
||||
rev = "45022da883e7ba84a1f832c266e9f2c9a01b393c";
|
||||
sha256 = "1mgd6pqqnq28714bvfn70nbfdypw7q57y9a3hgg9v4b60mhjhd7f";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes";
|
||||
sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik";
|
||||
name = "doom-themes";
|
||||
};
|
||||
packageRequires = [ all-the-icons dash emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/doom-themes";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
downplay-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "downplay-mode";
|
||||
@ -7039,12 +7081,12 @@
|
||||
ein = callPackage ({ cl-generic, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
|
||||
melpaBuild {
|
||||
pname = "ein";
|
||||
version = "0.8.1";
|
||||
version = "0.10.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "millejoh";
|
||||
repo = "emacs-ipython-notebook";
|
||||
rev = "9fc8dd3be4a556d7abf6977c889887a38232929f";
|
||||
sha256 = "0w2j0bbqnba1wr12f0zk87zwnxf6xhchx224fwgwqd3kg0x5z0r3";
|
||||
rev = "0c47d8078d075c87bcc0bb2f072bef14fa57cd7e";
|
||||
sha256 = "1dljb6pd35l5mv51fm0bjfw4g6d19fj5sc1yag7jir6nmx0k992m";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3201516c0158c47d0226ef9c5d324d29ac7b088b/recipes/ein";
|
||||
@ -7501,12 +7543,12 @@
|
||||
elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "elpa-mirror";
|
||||
version = "1.2.2";
|
||||
version = "2.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "redguardtoo";
|
||||
repo = "elpa-mirror";
|
||||
rev = "940c17f757ddaf9c076503af2bb15d04f299692c";
|
||||
sha256 = "0h2xhys3cc9z61ax0ymg5fbsjg6192hwdvfhgmyq7vwibi402r1f";
|
||||
rev = "9cf096448b69c795b20aab89557e9add6029b13c";
|
||||
sha256 = "05la1v1p7wyrjflh8lv3pwr7ywm2rvvzhh8phr24w31jfs2kp4gf";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror";
|
||||
@ -8303,8 +8345,8 @@
|
||||
version = "0.1";
|
||||
src = fetchhg {
|
||||
url = "https://bitbucket.com/seanfarley/erc-hipchatify";
|
||||
rev = "b237cf8118fd";
|
||||
sha256 = "11a64rvhd88val6vg9l1d5j3zdjd0bbbwcqilj0wp6rbn57xy0w8";
|
||||
rev = "dbb74dd91c5a";
|
||||
sha256 = "0m72jwgp9zqm1aphg7xm3pzj2xvavqfpdx66lny8pvfv8lph93lj";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b60e01e7064ce486fdac3d1b39fd4a1296b0dac5/recipes/erc-hipchatify";
|
||||
@ -8446,12 +8488,12 @@
|
||||
erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "erlang";
|
||||
version = "19.0.5";
|
||||
version = "19.0.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "erlang";
|
||||
repo = "otp";
|
||||
rev = "71894a879d6254693791585246ce340dd7414b82";
|
||||
sha256 = "0s0s94jsqqpny5z2qdbb62h45cz8lh2if65q26jlcgbyz2729j77";
|
||||
rev = "33b39b559a31c38465dfc038218f432c9c60a9ad";
|
||||
sha256 = "1swcakbd3m8c7yzh8h1mdbxd1hyxpza1cb993ixqv4ydhz9bppn3";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/erlang";
|
||||
@ -9830,12 +9872,12 @@
|
||||
fill-column-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "fill-column-indicator";
|
||||
version = "1.81";
|
||||
version = "1.87";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alpaker";
|
||||
repo = "Fill-Column-Indicator";
|
||||
rev = "5cbc077083775d4719a294455a8a8a53bb3151f8";
|
||||
sha256 = "0fghhy5xqsdwal4fwlr6hxr5kpnfw71q79mxpp9db59ldnj9f5y9";
|
||||
rev = "0e755319451dd9c6c99c2a2ef82c890ba93343b6";
|
||||
sha256 = "0gbqspqn4y7f2fwqq8210b6k5q22c0zr7b4ws8qgz9swav8g3vrq";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4ea0c00a7784621fcca0391a9c8ea85e9dd43852/recipes/fill-column-indicator";
|
||||
@ -11388,6 +11430,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
fsbot-data-browser = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "fsbot-data-browser";
|
||||
version = "0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "benaiah";
|
||||
repo = "fsbot-data-browser";
|
||||
rev = "d8d441fafe1c9a8402269841a4b2285f6625ca82";
|
||||
sha256 = "0lljfn31lhp52n0dp6lpd0mx4jdrhpkivjjghk6yka1659vz0s32";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/37a0901b98e1c66be6906234e6d6520a6e940e97/recipes/fsbot-data-browser";
|
||||
sha256 = "0jijvl07jk200fs01ln4dmw5nx9jg3f9b7gjaknyd18vyvbwr3s5";
|
||||
name = "fsbot-data-browser";
|
||||
};
|
||||
packageRequires = [ dash ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/fsbot-data-browser";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip, s }:
|
||||
melpaBuild {
|
||||
pname = "fsharp-mode";
|
||||
@ -12562,6 +12625,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
go-add-tags = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "go-add-tags";
|
||||
version = "0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "syohex";
|
||||
repo = "emacs-go-add-tags";
|
||||
rev = "a6a879889729d579297935598d26b985f900ef29";
|
||||
sha256 = "1s4jwpwxlqxi9h5qqjcvxz3i8rgfrs874rpadp6lhizdhpjjp82y";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/55d3b893bd68d3d2d86ecdbb4ed442edd256516a/recipes/go-add-tags";
|
||||
sha256 = "0nvas44rsvqzk2ay5bhzkbrnzql13vnxq9pk4lp4mvp86dda9qim";
|
||||
name = "go-add-tags";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs s ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/go-add-tags";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
go-autocomplete = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "go-autocomplete";
|
||||
@ -12775,12 +12859,12 @@
|
||||
google-translate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "google-translate";
|
||||
version = "0.11.10";
|
||||
version = "0.11.13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "atykhonov";
|
||||
repo = "google-translate";
|
||||
rev = "84d75daa644c0e73289fc428ff35acdc0943cbbb";
|
||||
sha256 = "0dzr1nb1s1sh8rv5wr9xfjd5xna54vp03y3h4q59vmnynsn64m9b";
|
||||
rev = "c859592c3fda01594b270e388414a79373b5587b";
|
||||
sha256 = "1arwq4nld3capjj2b3ask1pwy89fz25f550fb7cnhiv5rhqr51iw";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e3c275e59cbfe6e40f9cd4c470fc66544c9a6d21/recipes/google-translate";
|
||||
@ -12880,12 +12964,12 @@
|
||||
govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "govc";
|
||||
version = "0.8.0";
|
||||
version = "0.9.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vmware";
|
||||
repo = "govmomi";
|
||||
rev = "c0c7ce63df7edd78e713257b924c89d9a2dac119";
|
||||
sha256 = "1yj4iimwfv3d4m24ifmncc2z09dlmxjr1dhryh4afkpgj48x4lcv";
|
||||
rev = "f9184c1d704efa615d419dd8d1dae1ade94701d1";
|
||||
sha256 = "1q86wklz73qmyif04fv5y42imly3yab5bjc8ymka8xkc5lh71mwm";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
|
||||
@ -13006,12 +13090,12 @@
|
||||
grandshell-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "grandshell-theme";
|
||||
version = "1.0";
|
||||
version = "1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "steckerhalter";
|
||||
repo = "grandshell-theme";
|
||||
rev = "6bf34fb1a3117244629a7fb23daf610f50854bed";
|
||||
sha256 = "1202fwwwdr74q6s5jv1n0mvmq4n9mra85l14hdhwh2kks513s6vs";
|
||||
rev = "f9dbaa341fce72f9deaf69bfaa09282168ebaf9d";
|
||||
sha256 = "03lr4gim7yynwx0n06dd1vy6hbizxwc8hcwzz1gbvla2509njga7";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b04b0024f5a0367e2998d35ca88c2613a8e3470/recipes/grandshell-theme";
|
||||
@ -13537,22 +13621,22 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
haskell-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "haskell-mode";
|
||||
version = "13.20.1";
|
||||
version = "16.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "haskell";
|
||||
repo = "haskell-mode";
|
||||
rev = "9eef80d1a16ac3b41b62b8d79ecbafa62e00c6c9";
|
||||
sha256 = "1xckvi2s62hwrrrd6g446gszyqdk6bmd2hcrc6m0qfnyjkvg6jf0";
|
||||
rev = "d2ea5239bf02f3917a78a5c2dcbc5b6f6dd1b359";
|
||||
sha256 = "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
|
||||
sha256 = "0wijvcpfdbl17iwzy47vf8brkj2djarfr8y28rw0wqvbs381zzwp";
|
||||
name = "haskell-mode";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/haskell-mode";
|
||||
license = lib.licenses.free;
|
||||
@ -13767,6 +13851,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
|
||||
melpaBuild {
|
||||
pname = "helm-bibtex";
|
||||
version = "2.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmalsburg";
|
||||
repo = "helm-bibtex";
|
||||
rev = "d6a98ac6f28d2a6a05e203115211c98333d40aca";
|
||||
sha256 = "0arhy051945lxjqg77b275ny9nsv60cqj0qfpmvd8xkc07lqfn23";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
|
||||
sha256 = "037pqgyyb2grg88yfxx1r8yp4lrgz2fyzz9fbbp34l8s6vk3cp4z";
|
||||
name = "helm-bibtex";
|
||||
};
|
||||
packageRequires = [ biblio cl-lib dash f helm parsebib s ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/helm-bibtex";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
helm-bm = callPackage ({ bm, cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "helm-bm";
|
||||
@ -14337,12 +14442,12 @@
|
||||
helm-mt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi-term }:
|
||||
melpaBuild {
|
||||
pname = "helm-mt";
|
||||
version = "0.8";
|
||||
version = "0.9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dfdeshom";
|
||||
repo = "helm-mt";
|
||||
rev = "10790691f083c3806c9e85758b7ea73b5e24c5ed";
|
||||
sha256 = "1k1jzzxygpmxnj07br7ah2582sdj67vqmipykz7yzrprd8r9c8fw";
|
||||
rev = "d2bff4100118483bc398c56d0ff095294209265b";
|
||||
sha256 = "1wci63y0vjvrvrylkhhrz8p9q0ml6la5cpj4rx5cwin9rkmislm6";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e726bf0b9b3f371b21f1f0d75175e0dda62f6fb0/recipes/helm-mt";
|
||||
@ -16517,6 +16622,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
|
||||
melpaBuild {
|
||||
pname = "ivy-bibtex";
|
||||
version = "2.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmalsburg";
|
||||
repo = "helm-bibtex";
|
||||
rev = "d6a98ac6f28d2a6a05e203115211c98333d40aca";
|
||||
sha256 = "0arhy051945lxjqg77b275ny9nsv60cqj0qfpmvd8xkc07lqfn23";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
|
||||
sha256 = "0qni48s09lgzqr98r49dhrzpfqp9yfwga11h7vhqclscjvlalpc2";
|
||||
name = "ivy-bibtex";
|
||||
};
|
||||
packageRequires = [ biblio cl-lib dash f parsebib s swiper ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/ivy-bibtex";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ivy-gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, gitlab, ivy, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "ivy-gitlab";
|
||||
@ -16686,12 +16812,12 @@
|
||||
jade = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
|
||||
melpaBuild {
|
||||
pname = "jade";
|
||||
version = "0.19";
|
||||
version = "0.20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NicolasPetton";
|
||||
repo = "jade";
|
||||
rev = "94f53bbd8aa8719b3d83ce038f68e74695b86ed4";
|
||||
sha256 = "0c40pg9f9w90fb1gwpl4z5wxhi0ng8j2fr6kf60yhbwg65x92w2k";
|
||||
rev = "856846322ea8077ffe6215b54f2f3676db5ccf61";
|
||||
sha256 = "03ckvamv61hpk1lcw6z66wsyg471qy979vm3wf8brq9zwapfknia";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b989c1bd83f20225314b6e903c5e1df972551c19/recipes/jade";
|
||||
@ -18713,6 +18839,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "magithub";
|
||||
version = "0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vermiculus";
|
||||
repo = "magithub";
|
||||
rev = "c94ff69749dd14200956e0b59a3757618c594730";
|
||||
sha256 = "12z9gl5lrvdfvhvk213phhgddvvr3y3hpigpzzcq0jla65db367b";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4605012c9d43403e968609710375e34f1b010235/recipes/magithub";
|
||||
sha256 = "1c3rbav13rw16ngjhjwnz80v653k8df63fkw0kayd80xrkxhrkxw";
|
||||
name = "magithub";
|
||||
};
|
||||
packageRequires = [ emacs magit ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/magithub";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
make-color = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "make-color";
|
||||
@ -19052,12 +19199,12 @@
|
||||
material-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "material-theme";
|
||||
version = "1.0";
|
||||
version = "1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "cpaulik";
|
||||
repo = "emacs-material-theme";
|
||||
rev = "b465a4f2112240df9e65f8326160d0c3e09a5a89";
|
||||
sha256 = "05cjgjmawndmgw2dl71sx5msj8csn0jr72rfxnw7jx24p4c33nkk";
|
||||
rev = "0890ff69a0fa1f908e79d0f68b1bb3cf0d55af40";
|
||||
sha256 = "0fd868ph4kdzp889j18wl4j5lypd5ggf1s69hz5sg0sn761b06x0";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d31ababaa50061e767605c979a3f327a654e564b/recipes/material-theme";
|
||||
@ -19217,6 +19364,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
meghanada = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
|
||||
melpaBuild {
|
||||
pname = "meghanada";
|
||||
version = "0.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mopemope";
|
||||
repo = "meghanada-emacs";
|
||||
rev = "3c7ffe201735d4b6dbc1e449248194eaa40e6c07";
|
||||
sha256 = "15yc312lixa2kv8fij6yp52dqgwi4pdf6w4b776flbqd14y23amd";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
|
||||
sha256 = "10f1fxma3lqcyv78i0p9mjpi79jfjd5lq5q60ylpxqp18nrql1s4";
|
||||
name = "meghanada";
|
||||
};
|
||||
packageRequires = [ cl-lib company emacs flycheck yasnippet ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/meghanada";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
melpa-upstream-visit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "melpa-upstream-visit";
|
||||
@ -19532,6 +19700,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "mips-mode";
|
||||
version = "1.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hlissner";
|
||||
repo = "emacs-mips-mode";
|
||||
rev = "dcde079176c1419ec24df08b62dd77a897892437";
|
||||
sha256 = "0jvbcld3abm45qzsbcaf6f1zd71hgdg5y47v6c0ri4xgwgcwqrvc";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode";
|
||||
sha256 = "0gg18v80lbndi2yyr5nl37mz0zpamwv9ha4clajkf0bc0vplxkj7";
|
||||
name = "mips-mode";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/mips-mode";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }:
|
||||
melpaBuild {
|
||||
pname = "mmm-mako";
|
||||
@ -19930,22 +20119,22 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||
mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "mu4e-alert";
|
||||
version = "0.3";
|
||||
version = "0.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "iqbalansari";
|
||||
repo = "mu4e-alert";
|
||||
rev = "83e6232b43902c7124fea16145de0da881bfe865";
|
||||
sha256 = "0wrg6f7czn61f9wmrk27dzcdskznm5i1pwwjck5h768j0y9dfv6a";
|
||||
rev = "75ee79ed663bde0bd52f09c5b444cbd9e13a738a";
|
||||
sha256 = "09sywhf1g8yqadzp19djar2gm3fmilqi3pbdm0hvm9b7xpq1gg44";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5a48e8cb571e91b582ff0dea18e8dc75601edc35/recipes/mu4e-alert";
|
||||
sha256 = "15nwj09iyrvjsc9lrxla6qa0s8izcllxghw5gx3ffncfcrx2l8qm";
|
||||
name = "mu4e-alert";
|
||||
};
|
||||
packageRequires = [ alert emacs s ];
|
||||
packageRequires = [ alert emacs ht s ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/mu4e-alert";
|
||||
license = lib.licenses.free;
|
||||
@ -20581,11 +20770,11 @@
|
||||
}) {};
|
||||
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
|
||||
pname = "notmuch";
|
||||
version = "0.22.1";
|
||||
version = "0.22.2";
|
||||
src = fetchgit {
|
||||
url = "git://git.notmuchmail.org/git/notmuch";
|
||||
rev = "b824ecc48f1e838ab19e346b0eec17ff02432493";
|
||||
sha256 = "08jwa7fg2wnk5nhzd56lyvsgi6icgmzmb30mpvpvm4v2afwlhbvj";
|
||||
rev = "da5029e2ac8dfd8a839de1f6a4701237d0b34db1";
|
||||
sha256 = "0fryxrgz8l9397jcink5cybn4l57lzav6a4ar8p6rj5p9f7lr0d6";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
|
||||
@ -20832,12 +21021,12 @@
|
||||
ob-sagemath = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, sage-shell-mode }:
|
||||
melpaBuild {
|
||||
pname = "ob-sagemath";
|
||||
version = "0.2.4";
|
||||
version = "0.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stakemori";
|
||||
repo = "ob-sagemath";
|
||||
rev = "98560075eb0a9dc5ad1e3102ac1154543692d74d";
|
||||
sha256 = "08p64ss3ia1gq6dsna5v3ajjwm5g9ma7yvd5y0jx91xssjqq5dja";
|
||||
rev = "02955d24bd204d330891ec57921edd56f854f721";
|
||||
sha256 = "02bz2jgpvrhqwp6jrdb8msr272mz0g2q6857m06yg7vcxpj4xlkz";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/dc074af316a09906a26ad957a56e3dc272cd813b/recipes/ob-sagemath";
|
||||
@ -21000,12 +21189,12 @@
|
||||
olivetti = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "olivetti";
|
||||
version = "1.5.3";
|
||||
version = "1.5.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rnkn";
|
||||
repo = "olivetti";
|
||||
rev = "1553934954ea47e4d2de676c42324ed4790cfd14";
|
||||
sha256 = "1n978yv19bsy5876lnp16xs1qg1frdbicf9c9h2rvil5myrljhyj";
|
||||
rev = "de2716cfb1f4dc82a08093cdd00200e9bb1f07ef";
|
||||
sha256 = "0gfjrfhmjvq2zkyp0bgxymdv6r7p4x40aicvv1r61z29nz4dbyn2";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti";
|
||||
@ -23184,12 +23373,12 @@
|
||||
persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "persp-mode";
|
||||
version = "2.7";
|
||||
version = "2.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bad-ptr";
|
||||
repo = "persp-mode.el";
|
||||
rev = "2c559083fa316b97b76e25c491a45aec5f2fe501";
|
||||
sha256 = "091k1pnkw4a62di6lj7gkczzpgf2jsxpj3brpfjs8gkcgx07vxsh";
|
||||
rev = "dfa6c66a038d84d9b7f17e0bc1471f3efea7acb6";
|
||||
sha256 = "1nplmw0n8ap1sbshb7p1mrdw835f7a4ih1zxjg13wx0dls65zpa2";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
|
||||
@ -24165,6 +24354,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
projectile-variable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
|
||||
melpaBuild {
|
||||
pname = "projectile-variable";
|
||||
version = "0.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "zonuexe";
|
||||
repo = "projectile-variable";
|
||||
rev = "810394eabf330325a86ec6f60c69e160eb837ac3";
|
||||
sha256 = "183azck3bi4qwpprcc07kvwm3piwqgql7ryy1czvmw3kbdmk1rpj";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable";
|
||||
sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji";
|
||||
name = "projectile-variable";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs projectile ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/projectile-variable";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
projekt = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "projekt";
|
||||
@ -24336,12 +24546,12 @@
|
||||
pug-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "pug-mode";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hlissner";
|
||||
repo = "emacs-pug-mode";
|
||||
rev = "48d5977e5efcf3650a1628b5cbffffdd164cd773";
|
||||
sha256 = "1wiiarxh0lcxvy56f1rxdbk1iwhdynl2xn6v8nr35bw1l82b1j9g";
|
||||
rev = "bff32a818ccc9e400210b942bd5e67fa21551148";
|
||||
sha256 = "1ad5n8v40acj17qficbzrnixbmg5wplmbd8h1z9hdxhbrkwy5323";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b3710aac9f3df3a23238af1f969c462b3692f260/recipes/pug-mode";
|
||||
@ -25008,12 +25218,12 @@
|
||||
rc-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "rc-mode";
|
||||
version = "1.0.6";
|
||||
version = "1.0.13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrhmouse";
|
||||
repo = "rc-mode.el";
|
||||
rev = "b9b48e24a55083e4911f2b497ed4d9676a192e88";
|
||||
sha256 = "06ln916fim58q44g67zlnsipfxcramyrqbm9adh52mdbk44j4bf9";
|
||||
rev = "fe2e0570bf9c19a292e16b18fd4b0a256df5d93f";
|
||||
sha256 = "0skjg3l3ss8nlrpnpjjflmf7wjib4jfarkmx4438nc6vm6553fmn";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d8062b2e5b2744a6e614b389cca7e7f21b582f6f/recipes/rc-mode";
|
||||
@ -25974,12 +26184,12 @@
|
||||
sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "sage-shell-mode";
|
||||
version = "0.1.1";
|
||||
version = "0.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stakemori";
|
||||
repo = "sage-shell-mode";
|
||||
rev = "26303698cbd807b4cbaa241b0671f7e542a3bbe4";
|
||||
sha256 = "1124akipvrcmkd66slklgap2jdvb8iksldd8sjvg9n25kp0wd0vr";
|
||||
rev = "00881a50b5c8a9994e318e107e7848c1c9f119df";
|
||||
sha256 = "0w1ba3rky07p7qsh2f59xfrhfip3k2db33pblyvs7z0fd0qwwsv0";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ff7cefd5497aec9ed271fd783625fed445c4ac12/recipes/sage-shell-mode";
|
||||
@ -26307,6 +26517,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
sexy-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "sexy-monochrome-theme";
|
||||
version = "1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nuncostans";
|
||||
repo = "sexy-monochrome-theme";
|
||||
rev = "64570387a30ec5ac685cb11824ee24f8890572e1";
|
||||
sha256 = "0fbm7gqg17blfpb5lybqvqw9qifsqjiprw65ih3asvrgynrxh2ra";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/9a09ffb7d271773f6cfa7c7eeaba45a717a5bdca/recipes/sexy-monochrome-theme";
|
||||
sha256 = "1qmbb2aaa1lc18l9kk42iq466hy2mg7565b0gb7hdvfqsi05d8dg";
|
||||
name = "sexy-monochrome-theme";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/sexy-monochrome-theme";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
shackle = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "shackle";
|
||||
@ -27546,6 +27777,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
sphinx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "sphinx-mode";
|
||||
version = "0.1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fuco1";
|
||||
repo = "sphinx-mode";
|
||||
rev = "3d6e3059350593dc077f06f54c33869b9e28f7bc";
|
||||
sha256 = "0l3a8swmf3sm54ayk2ahh1i5j1hf0hd822dfmx50kgwi4wpv48sp";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/269acf093c3aa508479bf532a4e07c9c6d568c72/recipes/sphinx-mode";
|
||||
sha256 = "16p5xlj4q9fyhz70r73w48fivwzpz9mcq710qqxqaap1aajkh84b";
|
||||
name = "sphinx-mode";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/sphinx-mode";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
splitjoin = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "splitjoin";
|
||||
@ -28215,6 +28467,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
swift3-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "swift3-mode";
|
||||
version = "2.1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "taku0";
|
||||
repo = "swift3-mode";
|
||||
rev = "ea34d46bf9a4293e75ffdac9500d34989316d9e9";
|
||||
sha256 = "1hwc3fxv87hmw0a0mgl8khfzf1p7yp2izkc02z8f1vbkaibmmawp";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/0ca9071199230d3c4c1b2e3a501736df87095fd3/recipes/swift3-mode";
|
||||
sha256 = "14vm05p8ix09v73dkmf03i56yib8yk6h2r1zc9m4ym80fki4f520";
|
||||
name = "swift3-mode";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/swift3-mode";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "swiper";
|
||||
@ -30950,12 +31223,12 @@
|
||||
ws-butler = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "ws-butler";
|
||||
version = "0.3";
|
||||
version = "0.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lewang";
|
||||
repo = "ws-butler";
|
||||
rev = "106d313c0dad532c2da3cc78770a8a2f0396aa85";
|
||||
sha256 = "1lv0l27lrp6xyl0c5yhlnyjwx872izq02z8x34da9jv3walxpk8f";
|
||||
rev = "b59e36b2451193bf96176f5a006bf506770a40f3";
|
||||
sha256 = "0ij88qr7gk07dchhjsn3nlk8fqgbkp4qhvn14dqxndn3zr64ix7v";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/f1645a51d487c8902eb6e59fb1884f85f48cec6f/recipes/ws-butler";
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ callPackage }: {
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20160905";
|
||||
version = "20160912";
|
||||
src = fetchurl {
|
||||
url = "http://orgmode.org/elpa/org-20160905.tar";
|
||||
sha256 = "01zm7s5qbh1xvxddd93i6cmz3m7x2s67zwzah5q5l3hgnvbx750q";
|
||||
url = "http://orgmode.org/elpa/org-20160912.tar";
|
||||
sha256 = "1xawj0pdvqrgzlixxgbfa01gzajfaz47anr5m4aw035rhc6s02r7";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -14,10 +14,10 @@
|
||||
}) {};
|
||||
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
version = "20160905";
|
||||
version = "20160912";
|
||||
src = fetchurl {
|
||||
url = "http://orgmode.org/elpa/org-plus-contrib-20160905.tar";
|
||||
sha256 = "1wx51iqg1cfrf220yslp2lq9s7klbv6bbxq0d2ygj47yjikkf39r";
|
||||
url = "http://orgmode.org/elpa/org-plus-contrib-20160912.tar";
|
||||
sha256 = "15id0gz60hqbhr183vnz4winpisa2kwrh47zqz37a5yx5b8fc84r";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
|
||||
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
|
||||
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
|
||||
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls
|
||||
, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
|
||||
, autoconf, automake
|
||||
, withX ? !stdenv.isDarwin
|
||||
, withGTK2 ? true, gtk2 ? null
|
||||
, withGTK3 ? false, gtk3 ? null
|
||||
, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null
|
||||
, withGTK2 ? true, gtk2
|
||||
, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
|
||||
}:
|
||||
|
||||
assert (libXft != null) -> libpng != null; # probably a bug
|
||||
@ -19,71 +19,68 @@ assert withXwidgets -> withGTK3 && webkitgtk24x != null;
|
||||
|
||||
let
|
||||
toolkit =
|
||||
if withGTK3 then "gtk3"
|
||||
else if withGTK2 then "gtk2"
|
||||
if withGTK2 then "gtk2"
|
||||
else if withGTK3 then "gtk3"
|
||||
else "lucid";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-25.1-rc2";
|
||||
|
||||
builder = ./builder.sh;
|
||||
name = "emacs-25.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz";
|
||||
sha256 = "1hffvyvl50mrivdv6lp92sbxi3l2zhblj8npmpbzk47zpl1mzm2v";
|
||||
url = "mirror://gnu//emacs/${name}.tar.xz";
|
||||
sha256 = "0cwgyiyymnx4xdg99dm2drfxcyhy2jmyf0rkr9fwj9mwwf77kwhr";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
./at-fdcwd.patch
|
||||
];
|
||||
patches = lib.optional stdenv.isDarwin ./at-fdcwd.patch;
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el
|
||||
'';
|
||||
nativeBuildInputs = [ pkgconfig ]
|
||||
++ lib.optionals srcRepo [ autoconf automake texinfo ];
|
||||
|
||||
buildInputs =
|
||||
[ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo acl gpm gettext
|
||||
autoconf automake ]
|
||||
++ stdenv.lib.optional stdenv.isLinux dbus
|
||||
++ stdenv.lib.optionals withX
|
||||
[ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ]
|
||||
++ lib.optional stdenv.isLinux dbus
|
||||
++ lib.optionals withX
|
||||
[ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
|
||||
imagemagick gconf ]
|
||||
++ stdenv.lib.optional (withX && withGTK2) gtk2
|
||||
++ stdenv.lib.optional (withX && withGTK3) gtk3
|
||||
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo
|
||||
++ stdenv.lib.optionals withXwidgets [webkitgtk24x wrapGAppsHook glib_networking];
|
||||
++ lib.optional (withX && withGTK2) gtk2
|
||||
++ lib.optional (withX && withGTK3) gtk3
|
||||
++ lib.optional (stdenv.isDarwin && withX) cairo
|
||||
++ lib.optionals withXwidgets [ webkitgtk24x wrapGAppsHook glib_networking ];
|
||||
|
||||
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
|
||||
propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags =
|
||||
configureFlags = [ "--with-modules" ] ++
|
||||
(if stdenv.isDarwin
|
||||
then [ "--with-ns" "--disable-ns-self-contained" ]
|
||||
else if withX
|
||||
then [ "--with-x-toolkit=${toolkit}" "--with-xft" ]
|
||||
else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
|
||||
"--with-gif=no" "--with-tiff=no" ])
|
||||
++ stdenv.lib.optional withXwidgets "--with-xwidgets";
|
||||
++ lib.optional withXwidgets "--with-xwidgets";
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
|
||||
"-I${cairo.dev}/include/cairo";
|
||||
preConfigure = lib.optionalString srcRepo ''
|
||||
./autogen.sh
|
||||
'' + ''
|
||||
substituteInPlace lisp/international/mule-cmds.el \
|
||||
--replace /usr/share/locale ${gettext}/share/locale
|
||||
|
||||
preBuild = ''
|
||||
find . -name '*.elc' -delete
|
||||
for makefile_in in $(find . -name Makefile.in -print); do
|
||||
substituteInPlace $makefile_in --replace /bin/pwd pwd
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/emacs/site-lisp/
|
||||
cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv nextstep/Emacs.app $out/Applications
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNU Emacs 25 (pre), the extensible, customizable text editor";
|
||||
description = "The extensible, customizable GNU text editor";
|
||||
homepage = http://www.gnu.org/software/emacs/;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ];
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchFromGitHub, unzip, pkgconfig, makeWrapper
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, makeWrapper, makeDesktopItem
|
||||
, ncurses, libtermkey, lpeg, lua
|
||||
, acl ? null, libselinux ? null
|
||||
, version ? "2016-07-15"
|
||||
, rev ? "5c2cee9461ef1199f2e80ddcda699595b11fdf08"
|
||||
, sha256 ? "1jmsv72hq0c2f2rnpllvd70cmxbjwfhynzwaxx24f882zlggwsnd"
|
||||
, version ? "2016-08-24"
|
||||
, rev ? "010dcd60ffda37027908f2a0b20c751b83ca975e"
|
||||
, sha256 ? "0bpbyi5yq50zw0hkh326pmdcnm91paf1yz4853dcq63y0ddv89jp"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vis-nightly-${version}";
|
||||
name = "vis-unstable-${version}";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -17,10 +17,9 @@ stdenv.mkDerivation rec {
|
||||
owner = "martanne";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
unzip pkgconfig
|
||||
ncurses
|
||||
libtermkey
|
||||
lua
|
||||
@ -34,18 +33,38 @@ stdenv.mkDerivation rec {
|
||||
LUA_PATH="${lpeg}/share/lua/${lua.luaversion}/?.lua";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
cp $desktopItem/share/applications/* $out/share/applications
|
||||
echo wrapping $out/bin/vis with runtime environment
|
||||
wrapProgram $out/bin/vis \
|
||||
--prefix LUA_CPATH : "${lpeg}/lib/lua/${lua.luaversion}/?.so" \
|
||||
--prefix LUA_PATH : "${lpeg}/share/lua/${lua.luaversion}/?.lua" \
|
||||
--prefix VIS_PATH : "$out/share/vis"
|
||||
--prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem rec {
|
||||
name = "vis";
|
||||
exec = "vis %U";
|
||||
type = "Application";
|
||||
icon = "accessories-text-editor";
|
||||
comment = meta.description;
|
||||
desktopName = "vis";
|
||||
genericName = "Text editor";
|
||||
categories = stdenv.lib.concatStringsSep ";" [
|
||||
"Application" "Development" "IDE"
|
||||
];
|
||||
mimeType = stdenv.lib.concatStringsSep ";" [
|
||||
"text/plain" "application/octet-stream"
|
||||
];
|
||||
startupNotify = "false";
|
||||
terminal = "true";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A vim like editor";
|
||||
homepage = http://github.com/martanne/vis;
|
||||
license = licenses.isc;
|
||||
maintainers = [ maintainers.vrthra ];
|
||||
maintainers = with maintainers; [ vrthra ramkromberg ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
120
pkgs/applications/graphics/digikam/5.1.nix
Normal file
120
pkgs/applications/graphics/digikam/5.1.nix
Normal file
@ -0,0 +1,120 @@
|
||||
{ stdenv, fetchurl, cmake, ecm, makeQtWrapper
|
||||
|
||||
# For `digitaglinktree`
|
||||
, perl, sqlite
|
||||
|
||||
, qtbase
|
||||
, qtxmlpatterns
|
||||
, qtsvg
|
||||
, qtwebkit
|
||||
|
||||
, kconfigwidgets
|
||||
, kcoreaddons
|
||||
, kdoctools
|
||||
, kfilemetadata
|
||||
, knotifications
|
||||
, knotifyconfig
|
||||
, ktextwidgets
|
||||
, kwidgetsaddons
|
||||
, kxmlgui
|
||||
|
||||
, bison
|
||||
, boost
|
||||
, eigen
|
||||
, exiv2
|
||||
, flex
|
||||
, jasper
|
||||
, lcms2
|
||||
, lensfun
|
||||
, libgphoto2
|
||||
, libkipi
|
||||
, liblqr1
|
||||
, libusb1
|
||||
, marble
|
||||
, mysql
|
||||
, opencv
|
||||
, threadweaver
|
||||
|
||||
# For panorama and focus stacking
|
||||
, enblend-enfuse
|
||||
, hugin
|
||||
, gnumake
|
||||
|
||||
, oxygen
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "digikam-${version}";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.kde.org/stable/digikam/${name}.tar.xz";
|
||||
sha256 = "1w97a5cmg39dgmjgmjwa936gcrmxjms3h2ww61qi1lny84p5x4a7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ecm makeQtWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtxmlpatterns
|
||||
qtsvg
|
||||
qtwebkit
|
||||
|
||||
kconfigwidgets
|
||||
kcoreaddons
|
||||
kdoctools
|
||||
kfilemetadata
|
||||
knotifications
|
||||
knotifyconfig
|
||||
ktextwidgets
|
||||
kwidgetsaddons
|
||||
kxmlgui
|
||||
|
||||
bison
|
||||
boost
|
||||
eigen
|
||||
exiv2
|
||||
flex
|
||||
jasper
|
||||
lcms2
|
||||
lensfun
|
||||
libgphoto2
|
||||
libkipi
|
||||
liblqr1
|
||||
libusb1
|
||||
marble.unwrapped
|
||||
mysql
|
||||
opencv
|
||||
threadweaver
|
||||
|
||||
oxygen
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIBUSB_LIBRARIES=${libusb1.out}/lib"
|
||||
"-DLIBUSB_INCLUDE_DIR=${libusb1.dev}/include/libusb-1.0"
|
||||
"-DENABLE_MYSQLSUPPORT=1"
|
||||
"-DENABLE_INTERNALMYSQL=1"
|
||||
];
|
||||
|
||||
fixupPhase = ''
|
||||
substituteInPlace $out/bin/digitaglinktree \
|
||||
--replace "/usr/bin/perl" "${perl}/bin/perl" \
|
||||
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
|
||||
|
||||
wrapQtProgram $out/bin/digikam \
|
||||
--prefix PATH : "${gnumake}/bin:${hugin}/bin:${enblend-enfuse}/bin"
|
||||
|
||||
wrapQtProgram $out/bin/showfoto
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Photo Management Program";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
homepage = http://www.digikam.org;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,32 +1,72 @@
|
||||
{ stdenv, fetchurl, makeWrapper, autoreconfHook, boost, file
|
||||
, glib, glibc, libgnome_keyring, gnome_keyring, gtk, gtkmm, intltool
|
||||
, libctemplate, libglade
|
||||
, libiodbc
|
||||
, libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql
|
||||
, pango, pcre, pkgconfig, sqlite, sudo
|
||||
, pythonPackages
|
||||
{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig
|
||||
, glibc, gnome_keyring, gtk, gtkmm, pcre, swig, sudo
|
||||
, mysql, libxml2, libctemplate, libmysqlconnectorcpp
|
||||
, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs
|
||||
, libXdmcp, libuuid, libzip, libgnome_keyring, file
|
||||
, pythonPackages, jre, autoconf, automake, libtool
|
||||
, boost, glibmm, libsigcxx, pangomm, libX11, openssl
|
||||
, proj, cairo, libglade
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (pythonPackages) pexpect pycrypto python paramiko;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "mysql-workbench";
|
||||
version = "5.2.47";
|
||||
version = "6.3.7";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mirror.cogentco.com/pub/mysql/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz";
|
||||
sha256 = "1343fn3msdxqfpxw0kgm0mdx5r7g9ra1cpc8p2xhl7kz2pmqp4p6";
|
||||
url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";
|
||||
sha256 = "1v4k04facdn2qzflf0clf3ir5hghqlabq89ssm2s4x1nqdniz544";
|
||||
};
|
||||
|
||||
buildInputs = [ autoreconfHook boost file glib glibc libgnome_keyring gtk gtkmm intltool
|
||||
libctemplate libglade libgnome libiodbc libsigcxx libuuid libxml2 libzip lua makeWrapper mesa
|
||||
mysql.lib paramiko pcre pexpect pkgconfig pycrypto python sqlite ];
|
||||
buildInputs = [ cmake pkgconfig glibc gnome_keyring gtk gtk.dev gtkmm pcre swig python sudo
|
||||
paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file
|
||||
libpthreadstubs libXdmcp libuuid libzip libgnome_keyring libgnome_keyring.dev jre autoconf
|
||||
automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl
|
||||
proj cairo cairo.dev makeWrapper libglade ] ;
|
||||
|
||||
prePatch = ''
|
||||
for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ;
|
||||
do
|
||||
sed -i 's@#include <gdal/@#include <@' $f ;
|
||||
done
|
||||
|
||||
sed -i '32s@mysqlparser@mysqlparser sqlparser@' library/mysql.parser/CMakeLists.txt
|
||||
|
||||
cat <<EOF > ext/antlr-runtime/fix-configure
|
||||
#!${stdenv.shell}
|
||||
echo "fixing bundled antlr3c configure" ;
|
||||
sed -i 's@/usr/bin/file@${file}/bin/file@' configure
|
||||
sed -i '12121d' configure
|
||||
EOF
|
||||
chmod +x ext/antlr-runtime/fix-configure
|
||||
sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv"
|
||||
substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib"
|
||||
patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser
|
||||
patchShebangs $(pwd)/tools/get_wb_version.sh
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${libsigcxx}/lib/sigc++-2.0/include"
|
||||
"-I${pangomm}/lib/pangomm-1.4/include"
|
||||
"-I${glibmm}/lib/giomm-2.4/include"
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
"-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config"
|
||||
"-DCTemplate_INCLUDE_DIR=${libctemplate}/include"
|
||||
"-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include"
|
||||
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include"
|
||||
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include"
|
||||
"-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include"
|
||||
"-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include"
|
||||
"-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh
|
||||
|
||||
@ -52,7 +92,7 @@ in stdenv.mkDerivation rec {
|
||||
# used because we cannot clean up after ourselves due to the exec call.
|
||||
|
||||
# Start gnome-keyring-daemon, export the environment variables it asks us to set.
|
||||
for expr in $( gnome-keyring-daemon --components=ssh,pkcs11 --start ) ; do eval "export "$expr ; done
|
||||
for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done
|
||||
|
||||
# Prepare fifo pipe.
|
||||
FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo"
|
||||
|
@ -157,9 +157,7 @@ in rec {
|
||||
fi
|
||||
'';
|
||||
|
||||
impureEnvVars = [
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||
};
|
||||
|
||||
in {
|
||||
|
@ -113,6 +113,14 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
|
||||
"$out/bin/firefox" --version
|
||||
'';
|
||||
|
||||
postFixup =
|
||||
# Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
|
||||
''
|
||||
patchelf --set-rpath "${lib.getLib libnotify
|
||||
}/lib:$(patchelf --print-rpath "$out"/lib/firefox-*/libxul.so)" \
|
||||
"$out"/lib/firefox-*/libxul.so
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A web browser" + lib.optionalString (pname == "firefox-esr") " (Extended Support Release)";
|
||||
homepage = http://www.mozilla.com/en-US/firefox/;
|
||||
|
@ -98,6 +98,10 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $(dirname $preload)
|
||||
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
|
||||
echo $preload > $plugins/extra-ld-preload
|
||||
|
||||
# Prevent a dependency on gcc.
|
||||
strip -S $preload
|
||||
patchELF $preload
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
@ -10,9 +10,5 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ curl ];
|
||||
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
# This file was generated by go2nix.
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "machine-${version}";
|
||||
version = "0.8.1";
|
||||
|
||||
goPackagePath = "github.com/docker/machine";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "docker";
|
||||
repo = "machine";
|
||||
sha256 = "0l4a5bqfw8i8wrl5yzkqy848r7vdx6hw8p5m3z3vzabvsmsjjwy7";
|
||||
};
|
||||
|
||||
postFixup = ''
|
||||
mv $bin/bin/cmd $bin/bin/docker-machine
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://docs.docker.com/machine/;
|
||||
description = "Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage Docker Engine on the hosts.";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ offline tailhook ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -10,9 +10,5 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ curl ];
|
||||
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
}
|
||||
|
33
pkgs/applications/networking/corebird/default.nix
Normal file
33
pkgs/applications/networking/corebird/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchFromGitHub, gtk3, json_glib, sqlite, libsoup, gettext, vala_0_32
|
||||
, automake, autoconf, libtool, pkgconfig, gnome3, gst_all_1, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.3.1";
|
||||
name = "corebird-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "baedert";
|
||||
repo = "corebird";
|
||||
rev = version;
|
||||
sha256 = "1a7b6hinl5p7yanf75a0khki2fvd04km1xlkwnspgx75cmnbnn5z";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.rest
|
||||
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav ]);
|
||||
|
||||
meta = {
|
||||
description = "Native Gtk+ Twitter client for the Linux desktop";
|
||||
longDescription = "Corebird is a modern, easy and fun Twitter client.";
|
||||
homepage = http://corebird.baedert.org;
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.jonafato ];
|
||||
};
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, pythonPackages }:
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
name = "errbot-${version}";
|
||||
version = "4.2.2";
|
||||
|
||||
@ -23,7 +23,7 @@ pythonPackages.buildPythonPackage rec {
|
||||
webtest bottle threadpool rocket-errbot requests2 jinja2
|
||||
pyopenssl colorlog Yapsy markdown ansi pygments dns pep8
|
||||
daemonize pygments-markdown-lexer telegram irc slackclient
|
||||
pyside sleekxmpp hypchat
|
||||
pyside sleekxmpp hypchat pytest
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -15,8 +15,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with pythonPackages;[ pyqt4 cjson sipsimple twisted
|
||||
];
|
||||
propagatedBuildInputs = with pythonPackages; [ pyqt4 cjson sipsimple twisted ];
|
||||
|
||||
buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ];
|
||||
|
||||
|
@ -1,16 +1,17 @@
|
||||
{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "xmpp-client-${version}";
|
||||
version = "20160110-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
rev = "525bd26cf5f56ec5aee99464714fd1d019c119ff";
|
||||
version = "20160916-${stdenv.lib.strings.substring 0 7 rev}";
|
||||
rev = "abbf9020393e8caae3e8996a16ce48446e31cf0e";
|
||||
|
||||
goPackagePath = "github.com/agl/xmpp-client";
|
||||
|
||||
src = fetchgit {
|
||||
src = fetchFromGitHub {
|
||||
owner = "agl";
|
||||
repo = "xmpp-client";
|
||||
inherit rev;
|
||||
url = "https://github.com/agl/xmpp-client";
|
||||
sha256 = "0a1r08zs723ikcskmn6ylkdi3frcd0i0lkx30i9q39ilf734v253";
|
||||
sha256 = "0j9mfr208cachzm39i8b94v5qk9hws278vv2ms9ma4wn16wns81s";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
@ -1,16 +1,14 @@
|
||||
{ stdenv, fetchurl, fetchpatch, ncurses, which, perl, autoreconfHook
|
||||
{ stdenv, fetchurl, ncurses, which, perl
|
||||
, gdbm ? null
|
||||
, openssl ? null
|
||||
, cyrus_sasl ? null
|
||||
, gpgme ? null
|
||||
, aclocal ? null
|
||||
, headerCache ? true
|
||||
, sslSupport ? true
|
||||
, saslSupport ? true
|
||||
, gpgmeSupport ? true
|
||||
, imapSupport ? true
|
||||
, withSidebar ? false
|
||||
, withTrash ? false
|
||||
, withSidebar ? true
|
||||
}:
|
||||
|
||||
assert headerCache -> gdbm != null;
|
||||
@ -22,11 +20,11 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mutt-${version}";
|
||||
version = "1.6.2";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
|
||||
sha256 = "13hxmji7v9m2agmvzrs7gzx8s3c9jiwrv7pbkr7z1kc6ckq2xl65";
|
||||
sha256 = "0idkamdiwj9fgqaz1vzkfg78cnmkzp74skv0ibw2xjfq6ds9hghx";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@ -34,8 +32,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional headerCache gdbm
|
||||
++ optional sslSupport openssl
|
||||
++ optional saslSupport cyrus_sasl
|
||||
++ optional gpgmeSupport gpgme
|
||||
++ optional withSidebar autoreconfHook;
|
||||
++ optional gpgmeSupport gpgme;
|
||||
|
||||
configureFlags = [
|
||||
(enableFeature headerCache "hcache")
|
||||
@ -60,18 +57,6 @@ stdenv.mkDerivation rec {
|
||||
] ++ optional sslSupport "--with-ssl"
|
||||
++ optional saslSupport "--with-sasl";
|
||||
|
||||
patches =
|
||||
optional withTrash (fetchpatch {
|
||||
name = "trash.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/trash.patch?h=mutt-sidebar";
|
||||
sha256 = "1hrib9jk28mqd02nzv0sx01jfdabzvnwcc5qjc3810zfglzc1nql";
|
||||
}) ++
|
||||
optional withSidebar (fetchpatch {
|
||||
name = "sidebar.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/sidebar.patch?h=mutt-sidebar";
|
||||
sha256 = "1l63wj7kw41jrh00mcxdw4p4vrbc9wld42s99liw8kz2aclymq5m";
|
||||
});
|
||||
|
||||
meta = {
|
||||
description = "A small but very powerful text-based mail client";
|
||||
homepage = http://www.mutt.org;
|
||||
|
@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1lydkh6by0sjy6dl57bzg7c11ccyp24s80pwxw9h5kmxkbw6mx5q";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace "libfreerdp/freerdp.pc.in" --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
] ++ stdenv.lib.optional (pcsclite != null)
|
||||
(substituteAll {
|
||||
@ -38,7 +42,6 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON"
|
||||
++ stdenv.lib.optional optimize "-DWITH_SSE2=ON";
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A Remote Desktop Protocol Client";
|
||||
longDescription = ''
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
|
||||
{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfs-fuse, encfs }:
|
||||
|
||||
let
|
||||
inherit (python3Packages) python dbus-python keyring;
|
||||
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfsFuse encfs ];
|
||||
buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfs-fuse encfs ];
|
||||
|
||||
installFlags = [ "DEST=$(out)" ];
|
||||
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f";
|
||||
};
|
||||
|
||||
preInstall = ''
|
||||
prePatch = ''
|
||||
sed -i -e "s|/usr/local/bin|$out/bin|g" -e "s|/usr/share|$out/share|g" Makefile antiword.h
|
||||
'';
|
||||
|
||||
|
10
pkgs/applications/office/libreoffice/README.md
Normal file
10
pkgs/applications/office/libreoffice/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
LibreOffice
|
||||
===========
|
||||
|
||||
To generate `libreoffice-srcs.nix`:
|
||||
|
||||
nix-shell default-gen-shell.nix --run generate
|
||||
|
||||
To generate `libreoffice-srcs-still.nix`:
|
||||
|
||||
nix-shell still-gen-shell.nix --run generate
|
29
pkgs/applications/office/libreoffice/default-gen-shell.nix
Normal file
29
pkgs/applications/office/libreoffice/default-gen-shell.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ pkgs ? (import <nixpkgs> {}) }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
primary-src = callPackage ./default-primary-src.nix {};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "generate-libreoffice-srcs-shell";
|
||||
|
||||
buildCommand = "exit 1";
|
||||
|
||||
downloadList = stdenv.mkDerivation {
|
||||
name = "libreoffice-${primary-src.version}-download-list";
|
||||
inherit (primary-src) src version;
|
||||
builder = ./download-list-builder.sh;
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
|
||||
shellHook = ''
|
||||
function generate {
|
||||
python3 generate-libreoffice-srcs.py > libreoffice-srcs.nix
|
||||
}
|
||||
'';
|
||||
}
|
17
pkgs/applications/office/libreoffice/default-primary-src.nix
Normal file
17
pkgs/applications/office/libreoffice/default-primary-src.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ fetchurl }:
|
||||
|
||||
rec {
|
||||
major = "5";
|
||||
minor = "2";
|
||||
patch = "1";
|
||||
tweak = "2";
|
||||
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
|
||||
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "14g2xwpid4vsgmc69rs7hz1wx96dfkq0cbm32vjgljsm7a19qfc1";
|
||||
};
|
||||
}
|
@ -18,15 +18,15 @@
|
||||
, kdeIntegration ? false
|
||||
}:
|
||||
|
||||
let
|
||||
primary-src = import ./default-primary-src.nix { inherit fetchurl; };
|
||||
in
|
||||
|
||||
with { inherit (primary-src) major minor subdir version; };
|
||||
|
||||
let
|
||||
lib = stdenv.lib;
|
||||
langsSpaces = lib.concatStringsSep " " langs;
|
||||
major = "5";
|
||||
minor = "2";
|
||||
patch = "1";
|
||||
tweak = "2";
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
|
||||
|
||||
fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
|
||||
inherit name md5;
|
||||
@ -64,10 +64,7 @@ let
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "libreoffice-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "14g2xwpid4vsgmc69rs7hz1wx96dfkq0cbm32vjgljsm7a19qfc1";
|
||||
};
|
||||
inherit (primary-src) src;
|
||||
|
||||
# Openoffice will open libcups dynamically, so we link it directly
|
||||
# to make its dlopen work.
|
||||
|
@ -0,0 +1,3 @@
|
||||
source $stdenv/setup
|
||||
|
||||
tar --extract --file=$src libreoffice-$version/download.lst -O > $out
|
269
pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
Executable file
269
pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
Executable file
@ -0,0 +1,269 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
Converts the LibreOffice `download.lst` file into a Nix expression.
|
||||
|
||||
Requires an environment variable named `downloadList` identifying the path
|
||||
of the input file, and writes the result to stdout.
|
||||
|
||||
todo - Ideally we would move as much as possible into derivation dependencies.
|
||||
"""
|
||||
import collections, itertools, json, re, sys, os
|
||||
|
||||
def main():
|
||||
|
||||
print('[')
|
||||
|
||||
for x in get_packages():
|
||||
|
||||
print('{')
|
||||
|
||||
print(' name = "{}";'.format(x['tarball']))
|
||||
print(' md5 = "{}";'.format(x['md5']))
|
||||
print(' brief = {};'.format('true' if x['brief'] else 'false'))
|
||||
|
||||
if 'subdir' in x:
|
||||
print(' subDir = "{}";'.format(x['subdir']))
|
||||
|
||||
print('}')
|
||||
|
||||
print(']')
|
||||
|
||||
|
||||
def get_packages():
|
||||
"""
|
||||
All of the package data: What's parsed from download.lst,
|
||||
plus our additions.
|
||||
"""
|
||||
return apply_additions(get_packages_from_download_list(),
|
||||
get_additions())
|
||||
|
||||
|
||||
def get_additions():
|
||||
"""
|
||||
A mapping from package name (the all-caps identifiers used in
|
||||
`download.lst`) to a dict of additional attributes to set on the package.
|
||||
"""
|
||||
with open('./libreoffice-srcs-additions.json') as f:
|
||||
return json.load(f)
|
||||
|
||||
|
||||
def apply_additions(xs, additions):
|
||||
for x in xs:
|
||||
yield dict_merge([x,
|
||||
additions.get(x['name'], {})])
|
||||
|
||||
|
||||
def get_packages_from_download_list():
|
||||
"""
|
||||
The result of parsing `download.lst`: A list of dicts containing keys
|
||||
'name', 'tarball', 'md5', 'brief'.
|
||||
"""
|
||||
|
||||
def lines():
|
||||
for x in sub_symbols(parse_lines(get_lines())):
|
||||
|
||||
interpretation = interpret(x)
|
||||
|
||||
if interpretation == 'unrecognized':
|
||||
print_skipped_line(x)
|
||||
else:
|
||||
yield dict_merge([x,
|
||||
interpretation])
|
||||
|
||||
def cluster(xs):
|
||||
"""
|
||||
Groups lines according to their order within the file, to support
|
||||
packages that are listed in `download.lst` more than once.
|
||||
"""
|
||||
keys = ['tarball', 'md5', 'brief']
|
||||
a = {k: [x for x in xs if k in x['attrs']] for k in keys}
|
||||
return zip(*[a[k] for k in keys])
|
||||
|
||||
def packages():
|
||||
for (name, group) in groupby(lines(), lambda x: x['name']):
|
||||
for xs in cluster(group):
|
||||
yield {'name': name,
|
||||
'attrs': dict_merge(x['attrs'] for x in xs),
|
||||
'index': min(x['index'] for x in xs)}
|
||||
|
||||
for x in sorted(packages(), key=lambda x: x['index']):
|
||||
yield dict_merge([{'name': x['name']},
|
||||
x['attrs']])
|
||||
|
||||
|
||||
def dict_merge(xs):
|
||||
"""
|
||||
>>> dict_merge([{1: 2}, {3: 4}, {3: 5}])
|
||||
{1: 2, 3: 4}
|
||||
"""
|
||||
return dict(collections.ChainMap(*xs))
|
||||
|
||||
|
||||
def groupby(xs, f):
|
||||
"""
|
||||
>>> groupby([1, 2, 3, 4], lambda x: x % 2)
|
||||
[(0, [2, 4]), (1, [1, 3])]
|
||||
"""
|
||||
for (k, iter) in itertools.groupby(sorted(xs, key=f), f):
|
||||
group = list(iter)
|
||||
yield (f(group[0]), group)
|
||||
|
||||
|
||||
def get_lines():
|
||||
|
||||
download_list = os.getenv('downloadList')
|
||||
|
||||
with open(download_list) as f:
|
||||
return f.read().splitlines()
|
||||
|
||||
|
||||
def print_skipped_line(x):
|
||||
|
||||
print('Skipped line {}: {}'.format(x['index'],
|
||||
x['original']),
|
||||
file=sys.stderr)
|
||||
|
||||
|
||||
def parse_lines(lines):
|
||||
"""
|
||||
Input: List of strings (the lines from `download.lst`
|
||||
Output: Iterator of dicts with keys 'key', 'value', and 'index'
|
||||
"""
|
||||
for (index, line) in enumerate(lines):
|
||||
|
||||
x = { 'index': index, 'original': line }
|
||||
|
||||
result = parse_line(line)
|
||||
|
||||
if result == 'nothing':
|
||||
pass
|
||||
elif result == 'unrecognized':
|
||||
print_skipped_line(x)
|
||||
else:
|
||||
yield dict_merge([x,
|
||||
result])
|
||||
|
||||
|
||||
def parse_line(line):
|
||||
"""
|
||||
Input: A string
|
||||
Output: One of 1. A dict with keys 'key', 'value'
|
||||
2. 'nothing' (if the line contains no information)
|
||||
2. 'unrecognized' (if parsing failed)
|
||||
"""
|
||||
|
||||
if re.match('\s*(#.*)?$', line):
|
||||
return 'nothing'
|
||||
|
||||
match = re.match('\s*export\s+([^:\s]+)\s*:=\s*(.*)$', line)
|
||||
|
||||
if match:
|
||||
return {
|
||||
'key': match.group(1),
|
||||
'value': match.group(2).strip()
|
||||
}
|
||||
else:
|
||||
return 'unrecognized'
|
||||
|
||||
|
||||
def sub_symbols(xs):
|
||||
"""
|
||||
Do substitution of variables across all lines.
|
||||
|
||||
>>> sub_symbols([{'key': 'a', 'value': 'x'},
|
||||
... {'key': 'c': 'value': '$(a)yz'}])
|
||||
[{'key': 'a', 'value': 'x'}, {'key': 'c': 'value': 'xyz'}]
|
||||
"""
|
||||
|
||||
xs = list(xs)
|
||||
|
||||
symbols = {x['key']: x for x in xs}
|
||||
|
||||
def get_value(k):
|
||||
x = symbols.get(k)
|
||||
return x['value'] if x is not None else None
|
||||
|
||||
for x in xs:
|
||||
yield dict_merge([{'value': sub_str(x['value'], get_value)},
|
||||
x])
|
||||
|
||||
|
||||
def sub_str(string, func):
|
||||
"""
|
||||
Do substitution of variables in a single line.
|
||||
|
||||
>>> sub_str("x = $(x)", lambda k: {'x': 'a'}[k])
|
||||
"x = a"
|
||||
"""
|
||||
|
||||
def func2(m):
|
||||
x = m.group(1)
|
||||
result = func(x)
|
||||
return result if result is not None else x
|
||||
|
||||
return re.sub(r'\$\(([^\$\(\)]+)\)', func2, string)
|
||||
|
||||
|
||||
def interpret(x):
|
||||
"""
|
||||
Input: Dict with keys 'key' and 'value'
|
||||
Output: One of 1. Dict with keys 'name' and 'attrs'
|
||||
2. 'unrecognized' (if interpretation failed)
|
||||
"""
|
||||
for f in [interpret_md5, interpret_tarball_with_md5, interpret_tarball]:
|
||||
result = f(x)
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
return 'unrecognized'
|
||||
|
||||
|
||||
def interpret_md5(x):
|
||||
"""
|
||||
>>> interpret_md5("ODFGEN_MD5SUM", "32572ea48d9021bbd6fa317ddb697abc")
|
||||
{'name': 'ODFGEN', 'attrs': {'md5': '32572ea48d9021bbd6fa317ddb697abc'}}
|
||||
"""
|
||||
|
||||
match = re.match('^(.*)_MD5SUM$', x['key'])
|
||||
|
||||
if match:
|
||||
return {'name': match.group(1),
|
||||
'attrs': {'md5': x['value']}}
|
||||
|
||||
|
||||
def interpret_tarball(x):
|
||||
"""
|
||||
>>> interpret_tarball("FREEHAND_TARBALL", "libfreehand-0.1.1.tar.bz2")
|
||||
{'name': 'FREEHAND',
|
||||
'attrs': {'tarball': 'libfreehand-0.1.1.tar.bz2', 'brief': True}}
|
||||
"""
|
||||
|
||||
match = re.match('^(.*)_TARBALL$', x['key'])
|
||||
|
||||
if match:
|
||||
return {'name': match.group(1),
|
||||
'attrs': {'tarball': x['value'], 'brief': True}}
|
||||
|
||||
|
||||
def interpret_tarball_with_md5(x):
|
||||
"""
|
||||
>>> interpret_tarball_with_md5("CLUCENE_TARBALL",\
|
||||
"48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz")
|
||||
{'name': 'CLUCENE',
|
||||
'attrs': {'tarball': 'clucene-core-2.3.3.4.tar.gz',
|
||||
'md5': '48d647fbd8ef8889e5a7f422c1bfda94', 'brief': False}}
|
||||
"""
|
||||
|
||||
match = {'key': re.match('^(.*)_TARBALL$', x['key']),
|
||||
'value': re.match('(?P<md5>[0-9a-fA-F]{32})-(?P<tarball>.+)$',
|
||||
x['value'])}
|
||||
|
||||
if match['key'] and match['value']:
|
||||
return {'name': match['key'].group(1),
|
||||
'attrs': {'tarball': match['value'].group('tarball'),
|
||||
'md5': match['value'].group('md5'),
|
||||
'brief': False}}
|
||||
|
||||
|
||||
main()
|
@ -1,81 +0,0 @@
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
# Ideally we would move as much as possible into derivation dependencies
|
||||
|
||||
# Take the list of files from the main package, ooo.lst.in
|
||||
|
||||
# This script wants an argument: download list file
|
||||
|
||||
cat <<EOF
|
||||
[
|
||||
EOF
|
||||
|
||||
write_entry(){
|
||||
echo '{'
|
||||
echo " name = \"${name}\";"
|
||||
echo " md5 = \"${md5}\";"
|
||||
echo " brief = ${brief};"
|
||||
eval "echo -n \"\$additions_${name%%[-_.]*}\""
|
||||
eval "test -n \"\$additions_${name%%[-_.]*}\" && echo"
|
||||
echo '}'
|
||||
saved_line=
|
||||
}
|
||||
|
||||
saved_line=
|
||||
cat "$(dirname "$0")/libreoffice-srcs-additions.sh" "$@" |
|
||||
while read line; do
|
||||
case "$line" in
|
||||
EVAL\ *)
|
||||
echo "${line#* }" >&2;
|
||||
eval "${line#* }";
|
||||
saved_line=
|
||||
;;
|
||||
\#*)
|
||||
echo Skipping comment: "$line" >&2;
|
||||
;;
|
||||
*_MD5SUM\ :=*)
|
||||
if test -n "$saved_line"; then
|
||||
tbline="$saved_line"
|
||||
else
|
||||
read tbline;
|
||||
fi;
|
||||
line=${line##* };
|
||||
line=${line##*:=};
|
||||
if [ "${tbline#*VERSION_MICRO}" != "$tbline" ]; then
|
||||
verline=${tbline##* };
|
||||
read tbline;
|
||||
tbline=${tbline##* };
|
||||
tbline=${tbline##*:=};
|
||||
md5=$line
|
||||
name=$tbline;
|
||||
name="${name/\$([A-Z]*_VERSION_MICRO)/$verline}"
|
||||
else
|
||||
tbline=${tbline##* };
|
||||
tbline=${tbline##*:=};
|
||||
md5=$line
|
||||
name=$tbline;
|
||||
fi
|
||||
brief=true;
|
||||
write_entry;
|
||||
;;
|
||||
*_TARBALL\ :=*)
|
||||
line=${line##* };
|
||||
line=${line##*:=};
|
||||
line="${line#,}"
|
||||
md5=${line:0:32};
|
||||
name=${line:33};
|
||||
name="${name%)}"
|
||||
brief=false;
|
||||
if test -n "$name"; then
|
||||
write_entry;
|
||||
else
|
||||
saved_line="$line";
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo Skipping: "$line" >&2;
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo ']'
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"LIBGLTF": {"subdir": "libgltf/"}
|
||||
}
|
@ -1 +0,0 @@
|
||||
EVAL additions_libgltf=' subDir = "libgltf/";'
|
29
pkgs/applications/office/libreoffice/still-gen-shell.nix
Normal file
29
pkgs/applications/office/libreoffice/still-gen-shell.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ pkgs ? (import <nixpkgs> {}) }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
primary-src = callPackage ./still-primary-src.nix {};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "generate-libreoffice-srcs-shell";
|
||||
|
||||
buildCommand = "exit 1";
|
||||
|
||||
downloadList = stdenv.mkDerivation {
|
||||
name = "libreoffice-${primary-src.version}-download-list";
|
||||
inherit (primary-src) src version;
|
||||
builder = ./download-list-builder.sh;
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
|
||||
shellHook = ''
|
||||
function generate {
|
||||
python3 generate-libreoffice-srcs.py > libreoffice-srcs-still.nix
|
||||
}
|
||||
'';
|
||||
}
|
17
pkgs/applications/office/libreoffice/still-primary-src.nix
Normal file
17
pkgs/applications/office/libreoffice/still-primary-src.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ fetchurl }:
|
||||
|
||||
rec {
|
||||
major = "5";
|
||||
minor = "1";
|
||||
patch = "5";
|
||||
tweak = "2";
|
||||
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
|
||||
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x";
|
||||
};
|
||||
}
|
@ -18,15 +18,15 @@
|
||||
, kdeIntegration ? false
|
||||
}:
|
||||
|
||||
let
|
||||
primary-src = import ./still-primary-src.nix { inherit fetchurl; };
|
||||
in
|
||||
|
||||
with { inherit (primary-src) major minor subdir version; };
|
||||
|
||||
let
|
||||
lib = stdenv.lib;
|
||||
langsSpaces = lib.concatStringsSep " " langs;
|
||||
major = "5";
|
||||
minor = "1";
|
||||
patch = "5";
|
||||
tweak = "2";
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
|
||||
|
||||
fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
|
||||
inherit name md5;
|
||||
@ -64,10 +64,7 @@ let
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "libreoffice-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x";
|
||||
};
|
||||
inherit (primary-src) src;
|
||||
|
||||
# we only have this problem on i686 ATM
|
||||
patches = if stdenv.is64bit then null else [
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, groff, utillinux }:
|
||||
{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, utillinux }:
|
||||
|
||||
with stdenv.lib;
|
||||
let
|
||||
@ -7,7 +7,6 @@ let
|
||||
BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \
|
||||
USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \
|
||||
TERMCONTROL=-DUSE_TERMIOS \
|
||||
NROFF=groff
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
@ -20,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "14mnz6smhi3a0rgmwvddk9w3vdisi8khq67i8nqsl47vgs8n1kqg";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper readline ncurses groff utillinux ];
|
||||
buildInputs = [ makeWrapper readline ncurses utillinux ];
|
||||
|
||||
configurePhase = ''
|
||||
sed -i 's/all: check_include/all:/' Makefile
|
||||
|
@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
homepage = "https://root.cern.ch/";
|
||||
description = "A data analysis framework";
|
||||
|
9
pkgs/applications/science/misc/root/setup-hook.sh
Normal file
9
pkgs/applications/science/misc/root/setup-hook.sh
Normal file
@ -0,0 +1,9 @@
|
||||
thisroot () {
|
||||
# Workaround thisroot.sh dependency on man
|
||||
if [ -z "${MANPATH}" ]; then
|
||||
MANPATH=:
|
||||
fi
|
||||
source @out@/bin/thisroot.sh
|
||||
}
|
||||
|
||||
envHooks+=(thisroot)
|
@ -1,16 +1,16 @@
|
||||
{ fetchurl, stdenv, libxml2, freetype, mesa, glew, qt4
|
||||
, cmake, makeWrapper, libjpeg }:
|
||||
, cmake, makeWrapper, libjpeg, python }:
|
||||
|
||||
let version = "4.1.0"; in
|
||||
let version = "4.9.0"; in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tulip-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/auber/${name}_src.tar.gz";
|
||||
sha256 = "1js1f8xdm9g2m66xbhfxa8ixzw6h4gjynxsm83p54l3i0hs3biig";
|
||||
sha256 = "0phc7972brvm0v6lfk4ghq9b2b4jsj6c15xlbgnvhhcxhc99wba3";
|
||||
};
|
||||
|
||||
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
|
||||
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg python ];
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
|
||||
|
@ -10,13 +10,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mkvtoolnix-${version}";
|
||||
version = "9.4.0";
|
||||
version = "9.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "0bmr0cnxp56flak6fjcn0ld5238h3ngrvy09yqp4790g8xwif35v";
|
||||
sha256 = "1dyhlpik8d9z78dg47cha313r0dm9fcjg6hzkmzd2ng9yrq5pmdy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ];
|
||||
|
@ -26,13 +26,7 @@ let layer = stdenv.mkDerivation {
|
||||
outputHash = sha256;
|
||||
outputHashMode = "recursive";
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
|
||||
# This variable allows the user to pass additional options to curl
|
||||
"NIX_CURL_FLAGS"
|
||||
];
|
||||
|
@ -1,15 +1,5 @@
|
||||
{ stdenv, curl, adc_user, adc_pass }:
|
||||
|
||||
let
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
in
|
||||
|
||||
{ # Path to fetch.
|
||||
path
|
||||
|
||||
|
@ -17,12 +17,6 @@ stdenv.mkDerivation {
|
||||
|
||||
eggName = name;
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
}
|
||||
|
||||
|
@ -56,12 +56,8 @@ stdenv.mkDerivation {
|
||||
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" "GIT_PROXY_COMMAND" "SOCKS_SERVER"
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars ++ [
|
||||
"GIT_PROXY_COMMAND" "SOCKS_SERVER"
|
||||
];
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
@ -6,9 +6,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [mercurial];
|
||||
|
||||
impureEnvVars = [
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
# Nix <= 0.7 compatibility.
|
||||
id = md5;
|
||||
|
@ -19,12 +19,7 @@ stdenv.mkDerivation {
|
||||
dbs = defaultDBMirrors ++ dbs;
|
||||
inherit branch cacheDB name selector;
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
}
|
||||
|
||||
|
@ -33,13 +33,6 @@ stdenv.mkDerivation {
|
||||
|
||||
inherit url rev sshSupport openssh ignoreExternals;
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
];
|
||||
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
|
@ -20,13 +20,7 @@ let
|
||||
# "gnu", etc.).
|
||||
sites = builtins.attrNames mirrors;
|
||||
|
||||
impureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars ++ [
|
||||
# This variable allows the user to pass additional options to curl
|
||||
"NIX_CURL_FLAGS"
|
||||
|
||||
|
@ -20,6 +20,6 @@ stdenv.mkDerivation {
|
||||
outputHashMode = "recursive";
|
||||
outputHash = sha256;
|
||||
|
||||
impureEnvVars = [ "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ];
|
||||
impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fira-code-${version}";
|
||||
version = "1.201";
|
||||
version = "1.203";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tonsky/FiraCode/releases/download/${version}/FiraCode_${version}.zip";
|
||||
sha256 = "11hwpdqj41wvzc8l8zgfb132cxn8kxpxbgiqc2kinc25x2l1ikji";
|
||||
sha256 = "0pjziaklmkpl67ybp45q9ndya5adf9x8svhdv9643dq9jsrxbkj1";
|
||||
};
|
||||
|
||||
sourceRoot = "otf";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "efl-${version}";
|
||||
version = "1.18.0";
|
||||
version = "1.18.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
|
||||
sha256 = "17mzbjmz8d2vs8p63r1sk3mppl3l2fhxy2jv24dp75lgqbsvp806";
|
||||
sha256 = "08njx6wd505as1vn0yp4mnmf6mb2v28jsipxxx4zhf78v18d2sqc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake-2_8, automoc4, perl, pkgconfig
|
||||
{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake_2_8, automoc4, perl, pkgconfig
|
||||
, release, branch, ignoreList, extraSubpkgs
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv.lib) filter fold;
|
||||
inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
|
||||
cmake = cmake-2_8;
|
||||
cmake = cmake_2_8;
|
||||
in
|
||||
rec {
|
||||
manifest = import (./. + "/${release}.nix");
|
||||
|
@ -57,6 +57,7 @@ let
|
||||
libkexiv2 = callPackage ./libkexiv2.nix {};
|
||||
libkipi = callPackage ./libkipi.nix {};
|
||||
libkomparediff2 = callPackage ./libkomparediff2.nix {};
|
||||
marble = callPackage ./marble.nix {};
|
||||
okular = callPackage ./okular.nix {};
|
||||
print-manager = callPackage ./print-manager.nix {};
|
||||
spectacle = callPackage ./spectacle.nix {};
|
||||
|
@ -1 +1 @@
|
||||
WGET_ARGS=( http://download.kde.org/stable/applications/16.08.0/ -A '*.tar.xz' )
|
||||
WGET_ARGS=( http://download.kde.org/stable/applications/16.08.1/ -A '*.tar.xz' )
|
||||
|
24
pkgs/desktops/kde-5/applications/marble.nix
Normal file
24
pkgs/desktops/kde-5/applications/marble.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{ kdeApp, lib, kdeWrapper
|
||||
, ecm, qtscript, qtsvg, qtquickcontrols
|
||||
, gpsd
|
||||
}:
|
||||
|
||||
let
|
||||
unwrapped =
|
||||
kdeApp {
|
||||
name = "marble";
|
||||
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
|
||||
|
||||
nativeBuildInputs = [ ecm ];
|
||||
propagatedBuildInputs = [
|
||||
qtscript qtsvg qtquickcontrols
|
||||
gpsd
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
};
|
||||
in
|
||||
kdeWrapper unwrapped {
|
||||
targets = [ "bin/marble-qt" ];
|
||||
paths = [ unwrapped ];
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,17 +1,22 @@
|
||||
{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lxappearance-0.6.1";
|
||||
name = "lxappearance-0.6.2";
|
||||
|
||||
src = fetchurl{
|
||||
url = "mirror://sourceforge/project/lxde/LXAppearance/${name}.tar.xz";
|
||||
sha256 = "1phnv1b2jdj2vlibjyc9z01izcf3k5zxj8glsaf0i3vh77zqmqq9";
|
||||
sha256 = "07r0xbi6504zjnbpan7zrn7gi4j0kbsqqfpj8v2x94gr05p16qj4";
|
||||
};
|
||||
buildInputs = [ intltool libX11 pkgconfig gtk2 ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
buildInputs = [ libX11 gtk2 ];
|
||||
|
||||
meta = {
|
||||
description = "A lightweight program for configuring the theme and fonts of gtk applications";
|
||||
maintainers = [ stdenv.lib.maintainers.hinton ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
homepage = "http://lxappearance.sourceforce.net/";
|
||||
homepage = "http://lxde.org/";
|
||||
};
|
||||
}
|
@ -3,21 +3,25 @@
|
||||
let
|
||||
p_name = "xfce4-settings";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "0";
|
||||
ver_min = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4";
|
||||
sha256 = "0x35i1cvkqp0hib1knwa58mckdwrfbhaisz4bsx6bbbx385llj7n";
|
||||
};
|
||||
|
||||
patches = [ ./xfce4-settings-default-icon-theme.patch ];
|
||||
|
||||
nativeBuildInputs =
|
||||
[ pkgconfig intltool
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade upower
|
||||
xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
|
||||
[ exo gtk libxfce4util libxfce4ui libglade upower xfconf
|
||||
xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
|
||||
]; #TODO: optional packages
|
||||
|
||||
configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ];
|
||||
|
@ -85,8 +85,10 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
|
||||
xfce4_eyes_plugin = callPackage ./panel-plugins/xfce4-eyes-plugin.nix { };
|
||||
xfce4_fsguard_plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { };
|
||||
xfce4_genmon_plugin = callPackage ./panel-plugins/xfce4-genmon-plugin.nix { };
|
||||
xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin.nix { };
|
||||
xfce4_netload_plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
|
||||
xfce4_notes_plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
|
||||
xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin.nix { };
|
||||
xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
|
||||
xfce4_verve_plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
|
||||
xfce4_xkb_plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { };
|
||||
|
@ -0,0 +1,41 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2,
|
||||
libgtop, libxfce4ui, libxfce4util, xfce4panel, lm_sensors
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "xfce4-hardware-monitor-plugin";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.xfce.org/panel-plugins/${pname}/snapshot/${name}.tar.bz2";
|
||||
sha256 = "0sqvisr8gagpywq9sfyzqw37hxmj54ii89j5s2g8hx8bng5a98z1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkgconfig
|
||||
intltool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome2.gtkmm2
|
||||
gnome2.libgnomecanvas
|
||||
gnome2.libgnomecanvasmm
|
||||
libgtop
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
xfce4panel
|
||||
lm_sensors
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://goodies.xfce.org/projects/panel-plugins/${pname}";
|
||||
description = "Hardware monitor plugin for the XFCE4 panel";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.romildo ];
|
||||
};
|
||||
}
|
46
pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
Normal file
46
pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gnome2, libxfce4ui,
|
||||
libxfce4util, xfce4panel, libnotify, lm_sensors, hddtemp, netcat
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${ver_maj}.${ver_min}";
|
||||
pname = "xfce4-sensors-plugin";
|
||||
ver_maj = "1.2";
|
||||
ver_min = "6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/panel-plugins/${pname}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "1h0vpqxcziml3gwrbvd8xvy1mwh9mf2a68dvxsy03rs5pm1ghpi3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
intltool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome2.gtk
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
xfce4panel
|
||||
libnotify
|
||||
lm_sensors
|
||||
hddtemp
|
||||
netcat
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-pathhddtemp=${hddtemp}/bin/hddtemp"
|
||||
"--with-pathnetcat=${netcat}/bin/netcat"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "http://goodies.xfce.org/projects/panel-plugins/${pname}";
|
||||
description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -68,6 +68,14 @@ let
|
||||
|
||||
# Change the #error on GCC > 4.9 to a #warning.
|
||||
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
|
||||
|
||||
# Ensure that cmake can find CUDA.
|
||||
mkdir -p $out/nix-support
|
||||
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
|
||||
|
||||
'' + lib.optionalString (lib.versionOlder version "8.0") ''
|
||||
# Hack to fix building against recent Glibc/GCC.
|
||||
echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dtc-${version}";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0wcn9x2vynwlfxk5c6jrf8lz7qvm1sbb9gh27drk1mx8msdh5hd5";
|
||||
sha256 = "0pwhbw930pnksrmkimqqwp4nqj9mmh06bs5b8p5l2cnhnh8lxn3j";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison ];
|
||||
|
@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind llvmShared mpfr
|
||||
pcre2 openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
zlib
|
||||
] ++
|
||||
stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ;
|
||||
@ -121,6 +121,8 @@ stdenv.mkDerivation rec {
|
||||
"USE_SYSTEM_OPENSPECFUN=1"
|
||||
"USE_SYSTEM_PATCHELF=1"
|
||||
"USE_SYSTEM_PCRE=1"
|
||||
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
|
||||
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
|
||||
"USE_SYSTEM_READLINE=1"
|
||||
"USE_SYSTEM_UTF8PROC=1"
|
||||
"USE_SYSTEM_ZLIB=1"
|
||||
|
@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2 openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
zlib
|
||||
];
|
||||
|
||||
@ -131,6 +131,8 @@ stdenv.mkDerivation rec {
|
||||
"USE_SYSTEM_OPENSPECFUN=1"
|
||||
"USE_SYSTEM_PATCHELF=1"
|
||||
"USE_SYSTEM_PCRE=1"
|
||||
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
|
||||
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
|
||||
"USE_SYSTEM_READLINE=1"
|
||||
"USE_SYSTEM_UTF8PROC=1"
|
||||
"USE_SYSTEM_ZLIB=1"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user