Merge staging into staging-next

This commit is contained in:
Frederik Rietdijk 2019-04-07 08:33:26 +02:00
commit f5d4adc0d1
429 changed files with 5311 additions and 3852 deletions

View File

@ -1,3 +1,4 @@
<!-- Nixpkgs has a lot of new incoming Pull Requests, but not enough people to review this constant stream. Even if you aren't a committer, we would appreciate reviews of other PRs, especially simple ones like package updates. Just testing the relevant package/service and leaving a comment saying what you tested, how you tested it and whether it worked would be great. List of open PRs: <https://github.com/NixOS/nixpkgs/pulls>, for more about reviewing contributions: <https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#sec-reviewing-contributions>. Reviewing isn't mandatory, but it would help out a lot and reduce the average time-to-merge for all of us. Thanks a lot if you do! -->
###### Motivation for this change ###### Motivation for this change

View File

@ -54,7 +54,7 @@
<para> <para>
To manually configure the network on the graphical installer, first disable To manually configure the network on the graphical installer, first disable
network-manager with <command>systemctl stop network-manager</command>. network-manager with <command>systemctl stop NetworkManager</command>.
</para> </para>
<para> <para>

View File

@ -72,6 +72,13 @@
accordingly. accordingly.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The NetworkManager systemd unit was renamed back from network-manager.service to
NetworkManager.service for better compatibility with other applications expecting this name.
The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -7,7 +7,7 @@ with lib;
let let
requiredPackages = map lib.lowPrio requiredPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg)
[ config.nix.package [ config.nix.package
pkgs.acl pkgs.acl
pkgs.attr pkgs.attr

View File

@ -38,6 +38,12 @@ in {
firmwareLinuxNonfree firmwareLinuxNonfree
intel2200BGFirmware intel2200BGFirmware
rtl8192su-firmware rtl8192su-firmware
rt5677-firmware
rtl8723bs-firmware
rtlwifi_new-firmware
zd1211fw
alsa-firmware
openelec-dvb-firmware
] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware ] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware
++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [ ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
rtl8723bs-firmware rtl8723bs-firmware
@ -54,6 +60,10 @@ in {
}]; }];
hardware.firmware = with pkgs; [ hardware.firmware = with pkgs; [
broadcom-bt-firmware broadcom-bt-firmware
b43Firmware_5_1_138
b43Firmware_6_30_163_46
b43FirmwareCutter
facetimehd-firmware
]; ];
}) })
]; ];

View File

@ -0,0 +1,28 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.logitech;
in {
options.hardware.logitech = {
enable = mkEnableOption "Logitech Devices";
enableGraphical = mkOption {
type = types.bool;
default = false;
description = "Enable graphical support applications.";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
pkgs.ltunify
] ++ lib.optional cfg.enableGraphical pkgs.solaar;
# ltunifi and solaar both provide udev rules but the most up-to-date have been split
# out into a dedicated derivation
services.udev.packages = with pkgs; [ logitech-udev-rules ];
};
}

View File

@ -46,6 +46,7 @@
./hardware/sensor/iio.nix ./hardware/sensor/iio.nix
./hardware/ksm.nix ./hardware/ksm.nix
./hardware/ledger.nix ./hardware/ledger.nix
./hardware/logitech.nix
./hardware/mcelog.nix ./hardware/mcelog.nix
./hardware/network/b43.nix ./hardware/network/b43.nix
./hardware/nitrokey.nix ./hardware/nitrokey.nix
@ -264,6 +265,7 @@
./services/desktops/pipewire.nix ./services/desktops/pipewire.nix
./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/at-spi2-core.nix
./services/desktops/gnome3/chrome-gnome-shell.nix ./services/desktops/gnome3/chrome-gnome-shell.nix
./services/desktops/gnome3/evince.nix
./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/evolution-data-server.nix
./services/desktops/gnome3/file-roller.nix ./services/desktops/gnome3/file-roller.nix
./services/desktops/gnome3/gnome-disks.nix ./services/desktops/gnome3/gnome-disks.nix

View File

@ -0,0 +1,35 @@
# Evince.
{ config, pkgs, lib, ... }:
with lib;
{
###### interface
options = {
services.gnome3.evince = {
enable = mkEnableOption
"systemd and dbus services for Evince, the GNOME document viewer";
};
};
###### implementation
config = mkIf config.services.gnome3.evince.enable {
environment.systemPackages = [ pkgs.evince ];
services.dbus.packages = [ pkgs.evince ];
systemd.packages = [ pkgs.evince ];
};
}

View File

@ -466,7 +466,7 @@ in {
systemd.packages = cfg.packages; systemd.packages = cfg.packages;
systemd.services."network-manager" = { systemd.services."NetworkManager" = {
wantedBy = [ "network.target" ]; wantedBy = [ "network.target" ];
restartTriggers = [ configFile ]; restartTriggers = [ configFile ];
@ -478,9 +478,9 @@ in {
}; };
systemd.services.nm-setup-hostsdirs = mkIf dynamicHostsEnabled { systemd.services.nm-setup-hostsdirs = mkIf dynamicHostsEnabled {
wantedBy = [ "network-manager.service" ]; wantedBy = [ "NetworkManager.service" ];
before = [ "network-manager.service" ]; before = [ "NetworkManager.service" ];
partOf = [ "network-manager.service" ]; partOf = [ "NetworkManager.service" ];
script = concatStrings (mapAttrsToList (n: d: '' script = concatStrings (mapAttrsToList (n: d: ''
mkdir -p "/run/NetworkManager/hostsdirs/${n}" mkdir -p "/run/NetworkManager/hostsdirs/${n}"
chown "${d.user}:${d.group}" "/run/NetworkManager/hostsdirs/${n}" chown "${d.user}:${d.group}" "/run/NetworkManager/hostsdirs/${n}"

View File

@ -3,112 +3,18 @@
poolName = "icingaweb2"; poolName = "icingaweb2";
phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
formatBool = b: if b then "1" else "0"; defaultConfig = {
global = {
configIni = let module_path = "${pkgs.icingaweb2}/modules${optionalString (builtins.length config.modulePath > 0) ":${concatStringsSep ":" config.modulePath}"}";
config = cfg.generalConfig; };
in '' };
[global]
show_stacktraces = "${formatBool config.showStacktraces}"
show_application_state_messages = "${formatBool config.showApplicationStateMessages}"
module_path = "${pkgs.icingaweb2}/modules${optionalString (builtins.length config.modulePath > 0) ":${concatStringsSep ":" config.modulePath}"}"
config_backend = "${config.configBackend}"
${optionalString (config.configBackend == "db") ''config_resource = "${config.configResource}"''}
[logging]
log = "${config.log}"
${optionalString (config.log != "none") ''level = "${config.logLevel}"''}
${optionalString (config.log == "php" || config.log == "syslog") ''application = "${config.logApplication}"''}
${optionalString (config.log == "syslog") ''facility = "${config.logFacility}"''}
${optionalString (config.log == "file") ''file = "${config.logFile}"''}
[themes]
default = "${config.themeDefault}"
disabled = "${formatBool config.themeDisabled}"
[authentication]
${optionalString (config.authDefaultDomain != null) ''default_domain = "${config.authDefaultDomain}"''}
'';
resourcesIni = concatStringsSep "\n" (mapAttrsToList (name: config: ''
[${name}]
type = "${config.type}"
${optionalString (config.type == "db") ''
db = "${config.db}"
host = "${config.host}"
${optionalString (config.port != null) ''port = "${toString config.port}"''}
username = "${config.username}"
password = "${config.password}"
dbname = "${config.dbname}"
${optionalString (config.charset != null) ''charset = "${config.charset}"''}
use_ssl = "${formatBool config.useSSL}"
${optionalString (config.sslCert != null) ''ssl_cert = "${config.sslCert}"''}
${optionalString (config.sslKey != null) ''ssl_cert = "${config.sslKey}"''}
${optionalString (config.sslCA != null) ''ssl_cert = "${config.sslCA}"''}
${optionalString (config.sslCApath != null) ''ssl_cert = "${config.sslCApath}"''}
${optionalString (config.sslCipher != null) ''ssl_cert = "${config.sslCipher}"''}
''}
${optionalString (config.type == "ldap") ''
hostname = "${config.host}"
${optionalString (config.port != null) ''port = "${toString config.port}"''}
root_dn = "${config.rootDN}"
bind_dn = "${config.username}"
bind_pw = "${config.password}"
encryption = "${config.ldapEncryption}"
timeout = "${toString config.ldapTimeout}"
''}
${optionalString (config.type == "ssh") ''
user = "${config.username}"
private_key = "${config.sshPrivateKey}"
''}
'') cfg.resources);
authenticationIni = concatStringsSep "\n" (mapAttrsToList (name: config: ''
[${name}]
backend = "${config.backend}"
${optionalString (config.domain != null) ''domain = "${config.domain}"''}
${optionalString (config.backend == "external" && config.externalStripRegex != null) ''strip_username_regexp = "${config.externalStripRegex}"''}
${optionalString (config.backend != "external") ''resource = "${config.resource}"''}
${optionalString (config.backend == "ldap" || config.backend == "msldap") ''
${optionalString (config.ldapUserClass != null) ''user_class = "${config.ldapUserClass}"''}
${optionalString (config.ldapUserNameAttr != null) ''user_name_attribute = "${config.ldapUserNameAttr}"''}
${optionalString (config.ldapFilter != null) ''filter = "${config.ldapFilter}"''}
''}
'') cfg.authentications);
groupsIni = concatStringsSep "\n" (mapAttrsToList (name: config: ''
[${name}]
backend = "${config.backend}"
resource = "${config.resource}"
${optionalString (config.backend != "db") ''
${optionalString (config.ldapUserClass != null) ''user_class = "${config.ldapUserClass}"''}
${optionalString (config.ldapUserNameAttr != null) ''user_name_attribute = "${config.ldapUserNameAttr}"''}
${optionalString (config.ldapGroupClass != null) ''group_class = "${config.ldapGroupClass}"''}
${optionalString (config.ldapGroupNameAttr != null) ''group_name_attribute = "${config.ldapGroupNameAttr}"''}
${optionalString (config.ldapGroupFilter != null) ''group_filter = "${config.ldapGroupFilter}"''}
''}
${optionalString (config.backend == "msldap" && config.ldapNestedSearch) ''nested_group_search = "1"''}
'') cfg.groupBackends);
rolesIni = let
optionalList = var: attribute: optionalString (builtins.length var > 0) ''${attribute} = "${concatStringsSep "," var}"'';
in concatStringsSep "\n" (mapAttrsToList (name: config: ''
[${name}]
${optionalList config.users "users"}
${optionalList config.groups "groups"}
${optionalList config.permissions "permissions"}
${optionalList config.permissions "permissions"}
${concatStringsSep "\n" (mapAttrsToList (key: value: optionalList value key) config.extraAssignments)}
'') cfg.roles);
in { in {
options.services.icingaweb2 = with types; { options.services.icingaweb2 = with types; {
enable = mkEnableOption "the icingaweb2 web interface"; enable = mkEnableOption "the icingaweb2 web interface";
pool = mkOption { pool = mkOption {
type = str; type = str;
default = "${poolName}"; default = poolName;
description = '' description = ''
Name of existing PHP-FPM pool that is used to run Icingaweb2. Name of existing PHP-FPM pool that is used to run Icingaweb2.
If not specified, a pool will automatically created with default values. If not specified, a pool will automatically created with default values.
@ -143,7 +49,7 @@ in {
default = {}; default = {};
example = literalExample '' example = literalExample ''
{ {
"snow" = pkgs.icingaweb2Modules.theme-snow; "snow" = icingaweb2Modules.theme-snow;
} }
''; '';
description = '' description = ''
@ -153,406 +59,112 @@ in {
''; '';
}; };
generalConfig = { generalConfig = mkOption {
mutable = mkOption { type = nullOr attrs;
type = bool; default = null;
default = false; example = {
general = {
showStacktraces = 1;
config_resource = "icingaweb_db";
};
logging = {
log = "syslog";
level = "CRITICAL";
};
};
description = '' description = ''
Make config.ini mutable (e.g. via the web interface). config.ini contents.
Not that you need to update module_path manually. Will automatically be converted to a .ini file.
If you don't set global.module_path, the module will take care of it.
If the value is null, no config.ini is created and you can
modify it manually (e.g. via the web interface).
Note that you need to update module_path manually.
''; '';
}; };
showStacktraces = mkOption {
type = bool;
default = true;
description = "Enable stack traces in the Web UI";
};
showApplicationStateMessages = mkOption {
type = bool;
default = true;
description = "Enable application state messages in the Web UI";
};
modulePath = mkOption {
type = listOf str;
default = [];
description = "List of additional module search paths";
};
configBackend = mkOption {
type = enum [ "ini" "db" "none" ];
default = "db";
description = "Where to store user preferences";
};
configResource = mkOption {
type = nullOr str;
default = null;
description = "Database resource where user preferences are stored (if they are stored in a database)";
};
log = mkOption {
type = enum [ "syslog" "php" "file" "none" ];
default = "syslog";
description = "Logging target";
};
logLevel = mkOption {
type = enum [ "ERROR" "WARNING" "INFO" "DEBUG" ];
default = "ERROR";
description = "Maximum logging level to emit";
};
logApplication = mkOption {
type = str;
default = "icingaweb2";
description = "Application name to log under (syslog and php log)";
};
logFacility = mkOption {
type = enum [ "user" "local0" "local1" "local2" "local3" "local4" "local5" "local6" "local7" ];
default = "user";
description = "Syslog facility to log to";
};
logFile = mkOption {
type = str;
default = "/var/log/icingaweb2/icingaweb2.log";
description = "File to log to";
};
themeDefault = mkOption {
type = str;
default = "Icinga";
description = "Name of the default theme";
};
themeDisabled = mkOption {
type = bool;
default = false;
description = "Disallow users to change the theme";
};
authDefaultDomain = mkOption {
type = nullOr str;
default = null;
description = "Domain for users logging in without a qualified domain";
};
};
mutableResources = mkOption {
type = bool;
default = false;
description = "Make resources.ini mutable (e.g. via the web interface)";
};
resources = mkOption { resources = mkOption {
default = {}; type = nullOr attrs;
description = "Icingaweb 2 resources to define";
type = attrsOf (submodule ({ name, ... }: {
options = {
name = mkOption {
visible = false;
default = name;
type = str;
description = "Name of this resource";
};
type = mkOption {
type = enum [ "db" "ldap" "ssh" ];
default = "db";
description = "Type of this resouce";
};
db = mkOption {
type = enum [ "mysql" "pgsql" ];
default = "mysql";
description = "Type of this database resource";
};
host = mkOption {
type = str;
description = "Host to connect to";
};
port = mkOption {
type = nullOr port;
default = null; default = null;
description = "Port to connect on"; example = {
icingaweb_db = {
type = "db";
db = "mysql";
host = "localhost";
username = "icingaweb2";
password = "icingaweb2";
dbname = "icingaweb2";
}; };
};
description = ''
resources.ini contents.
Will automatically be converted to a .ini file.
username = mkOption { If the value is null, no resources.ini is created and you can
type = str; modify it manually (e.g. via the web interface).
description = "Database or SSH user or LDAP bind DN to connect with"; Note that if you set passwords here, they will go into the nix store.
}; '';
password = mkOption {
type = str;
description = "Password for the database user or LDAP bind DN";
};
dbname = mkOption {
type = str;
description = "Name of the database to connect to";
};
charset = mkOption {
type = nullOr str;
default = null;
example = "utf8";
description = "Database character set to connect with";
};
useSSL = mkOption {
type = nullOr bool;
default = false;
description = "Whether to connect to the database using SSL";
};
sslCert = mkOption {
type = nullOr str;
default = null;
description = "The file path to the SSL certificate. Only available for the mysql database.";
};
sslKey = mkOption {
type = nullOr str;
default = null;
description = "The file path to the SSL key. Only available for the mysql database.";
};
sslCA = mkOption {
type = nullOr str;
default = null;
description = "The file path to the SSL certificate authority. Only available for the mysql database.";
};
sslCApath = mkOption {
type = nullOr str;
default = null;
description = "The file path to the directory that contains the trusted SSL CA certificates in PEM format. Only available for the mysql database.";
};
sslCipher = mkOption {
type = nullOr str;
default = null;
description = "A list of one or more permissible ciphers to use for SSL encryption, in a format understood by OpenSSL. Only available for the mysql database.";
};
rootDN = mkOption {
type = str;
description = "Root object of the LDAP tree";
};
ldapEncryption = mkOption {
type = enum [ "none" "starttls" "ldaps" ];
default = "none";
description = "LDAP encryption to use";
};
ldapTimeout = mkOption {
type = ints.positive;
default = 5;
description = "Connection timeout for every LDAP connection";
};
sshPrivateKey = mkOption {
type = str;
description = "The path to the private key of the user";
};
};
}));
};
mutableAuthConfig = mkOption {
type = bool;
default = true;
description = "Make authentication.ini mutable (e.g. via the web interface)";
}; };
authentications = mkOption { authentications = mkOption {
default = {}; type = nullOr attrs;
description = "Icingaweb 2 authentications to define";
type = attrsOf (submodule ({ name, ... }: {
options = {
name = mkOption {
visible = false;
default = name;
type = str;
description = "Name of this authentication";
};
backend = mkOption {
type = enum [ "external" "ldap" "msldap" "db" ];
default = "db";
description = "The type of this authentication backend";
};
domain = mkOption {
type = nullOr str;
default = null; default = null;
description = "Domain for domain-aware authentication"; example = {
icingaweb = {
backend = "db";
resource = "icingaweb_db";
}; };
};
description = ''
authentication.ini contents.
Will automatically be converted to a .ini file.
externalStripRegex = mkOption { If the value is null, no authentication.ini is created and you can
type = nullOr str; modify it manually (e.g. via the web interface).
default = null; '';
description = "Regular expression to strip off specific user name parts";
};
resource = mkOption {
type = str;
description = "Name of the database/LDAP resource";
};
ldapUserClass = mkOption {
type = nullOr str;
default = null;
description = "LDAP user class";
};
ldapUserNameAttr = mkOption {
type = nullOr str;
default = null;
description = "LDAP attribute which contains the username";
};
ldapFilter = mkOption {
type = nullOr str;
default = null;
description = "LDAP search filter";
};
};
}));
};
mutableGroupsConfig = mkOption {
type = bool;
default = true;
description = "Make groups.ini mutable (e.g. via the web interface)";
}; };
groupBackends = mkOption { groupBackends = mkOption {
default = {}; type = nullOr attrs;
description = "Icingaweb 2 group backends to define";
type = attrsOf (submodule ({ name, ... }: {
options = {
name = mkOption {
visible = false;
default = name;
type = str;
description = "Name of this group backend";
};
backend = mkOption {
type = enum [ "ldap" "msldap" "db" ];
default = "db";
description = "The type of this group backend";
};
resource = mkOption {
type = str;
description = "Name of the database/LDAP resource";
};
ldapUserClass = mkOption {
type = nullOr str;
default = null; default = null;
description = "LDAP user class"; example = {
icingaweb = {
backend = "db";
resource = "icingaweb_db";
}; };
};
description = ''
groups.ini contents.
Will automatically be converted to a .ini file.
ldapUserNameAttr = mkOption { If the value is null, no groups.ini is created and you can
type = nullOr str; modify it manually (e.g. via the web interface).
default = null; '';
description = "LDAP attribute which contains the username";
};
ldapGroupClass = mkOption {
type = nullOr str;
default = null;
description = "LDAP group class";
};
ldapGroupNameAttr = mkOption {
type = nullOr str;
default = null;
description = "LDAP attribute which contains the groupname";
};
ldapGroupFilter = mkOption {
type = nullOr str;
default = null;
description = "LDAP group search filter";
};
ldapNestedSearch = mkOption {
type = bool;
default = false;
description = "Enable nested group search in Active Directory based on the user";
};
};
}));
};
mutableRolesConfig = mkOption {
type = bool;
default = true;
description = "Make roles.ini mutable (e.g. via the web interface)";
}; };
roles = mkOption { roles = mkOption {
default = {}; type = nullOr attrs;
description = "Icingaweb 2 roles to define"; default = null;
type = attrsOf (submodule ({ name, ... }: { example = {
options = { Administrators = {
name = mkOption { users = "admin";
visible = false; permissions = "*";
default = name;
type = str;
description = "Name of this role";
}; };
};
description = ''
roles.ini contents.
Will automatically be converted to a .ini file.
users = mkOption { If the value is null, no roles.ini is created and you can
type = listOf str; modify it manually (e.g. via the web interface).
default = []; '';
description = "List of users that are assigned to the role";
};
groups = mkOption {
type = listOf str;
default = [];
description = "List of groups that are assigned to the role";
};
permissions = mkOption {
type = listOf str;
default = [];
example = [ "application/share/navigation" "config/*" ];
description = "The permissions to grant";
};
extraAssignments = mkOption {
type = attrsOf (listOf str);
default = {};
example = { "monitoring/blacklist/properties" = [ "sla" "customer"]; };
description = "Additional assignments of this role";
};
};
}));
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") { services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
"${poolName}" = { "${poolName}" = ''
listen = phpfpmSocketName; listen = "${phpfpmSocketName}"
phpOptions = ''
extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
date.timezone = "${cfg.timezone}"
'';
extraConfig = ''
listen.owner = nginx listen.owner = nginx
listen.group = nginx listen.group = nginx
listen.mode = 0600 listen.mode = 0600
@ -564,7 +176,12 @@ in {
pm.max_spare_servers = 10 pm.max_spare_servers = 10
''; '';
}; };
};
services.phpfpm.phpOptions = mkIf (cfg.pool == "${poolName}")
''
extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
date.timezone = "${cfg.timezone}"
'';
systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ]; systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ];
@ -609,11 +226,11 @@ in {
// doModule "test" // doModule "test"
// doModule "translation" // doModule "translation"
# Configs # Configs
// optionalAttrs (!cfg.generalConfig.mutable) { "icingaweb2/config.ini".text = configIni; } // optionalAttrs (cfg.generalConfig != null) { "icingaweb2/config.ini".text = generators.toINI {} (defaultConfig // cfg.generalConfig); }
// optionalAttrs (!cfg.mutableResources) { "icingaweb2/resources.ini".text = resourcesIni; } // optionalAttrs (cfg.resources != null) { "icingaweb2/resources.ini".text = generators.toINI {} cfg.resources; }
// optionalAttrs (!cfg.mutableAuthConfig) { "icingaweb2/authentication.ini".text = authenticationIni; } // optionalAttrs (cfg.authentications != null) { "icingaweb2/authentication.ini".text = generators.toINI {} cfg.authentications; }
// optionalAttrs (!cfg.mutableGroupsConfig) { "icingaweb2/groups.ini".text = groupsIni; } // optionalAttrs (cfg.groupBackends != null) { "icingaweb2/groups.ini".text = generators.toINI {} cfg.groupBackends; }
// optionalAttrs (!cfg.mutableRolesConfig) { "icingaweb2/roles.ini".text = rolesIni; }; // optionalAttrs (cfg.roles != null) { "icingaweb2/roles.ini".text = generators.toINI {} cfg.roles; };
# User and group # User and group
users.groups.icingaweb2 = {}; users.groups.icingaweb2 = {};

View File

@ -44,19 +44,7 @@ let
} }
'')); ''));
awkFormat = builtins.toFile "awkFormat-nginx.awk" '' configFile = pkgs.writers.writeNginxConfig "nginx.conf" ''
awk -f
{sub(/^[ \t]+/,"");idx=0}
/\{/{ctx++;idx=1}
/\}/{ctx--}
{id="";for(i=idx;i<ctx;i++)id=sprintf("%s%s", id, "\t");printf "%s%s\n", id, $0}
'';
configFile = pkgs.runCommand "nginx.conf" {} (''
awk -f ${awkFormat} ${pre-configFile} | sed '/^\s*$/d' > $out
'');
pre-configFile = pkgs.writeText "pre-nginx.conf" ''
user ${cfg.user} ${cfg.group}; user ${cfg.user} ${cfg.group};
error_log ${cfg.logError}; error_log ${cfg.logError};
daemon off; daemon off;

View File

@ -126,6 +126,7 @@ in {
services.dleyna-renderer.enable = mkDefault true; services.dleyna-renderer.enable = mkDefault true;
services.dleyna-server.enable = mkDefault true; services.dleyna-server.enable = mkDefault true;
services.gnome3.at-spi2-core.enable = true; services.gnome3.at-spi2-core.enable = true;
services.gnome3.evince.enable = mkDefault true;
services.gnome3.evolution-data-server.enable = true; services.gnome3.evolution-data-server.enable = true;
services.gnome3.file-roller.enable = mkDefault true; services.gnome3.file-roller.enable = mkDefault true;
services.gnome3.gnome-disks.enable = mkDefault true; services.gnome3.gnome-disks.enable = mkDefault true;
@ -160,7 +161,11 @@ in {
# If gnome3 is installed, build vim for gtk3 too. # If gnome3 is installed, build vim for gtk3 too.
nixpkgs.config.vim.gui = "gtk3"; nixpkgs.config.vim.gui = "gtk3";
fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ]; fonts.fonts = [
pkgs.dejavu_fonts pkgs.cantarell-fonts
pkgs.source-sans-pro
pkgs.source-code-pro # Default monospace font in 3.32
];
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ] services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]
++ map ++ map

View File

@ -223,6 +223,7 @@ in
syncthing-relay = handleTest ./syncthing-relay.nix {}; syncthing-relay = handleTest ./syncthing-relay.nix {};
systemd = handleTest ./systemd.nix {}; systemd = handleTest ./systemd.nix {};
systemd-confinement = handleTest ./systemd-confinement.nix {}; systemd-confinement = handleTest ./systemd-confinement.nix {};
pdns-recursor = handleTest ./pdns-recursor.nix {};
taskserver = handleTest ./taskserver.nix {}; taskserver = handleTest ./taskserver.nix {};
telegraf = handleTest ./telegraf.nix {}; telegraf = handleTest ./telegraf.nix {};
tomcat = handleTest ./tomcat.nix {}; tomcat = handleTest ./tomcat.nix {};

View File

@ -0,0 +1,12 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "powerdns";
nodes.server = { ... }: {
services.pdns-recursor.enable = true;
};
testScript = ''
$server->waitForUnit("pdns-recursor");
$server->waitForOpenPort("53");
'';
})

View File

@ -11,8 +11,8 @@ let
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"; sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
}; };
"2" = { "2" = {
fluidsynthVersion = "2.0.3"; fluidsynthVersion = "2.0.4";
sha256 = "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78"; sha256 = "1v2vji02fbrjgypwb4fw2r90hnfwfbfh3d24j8vjwlbqxhxp16s0";
}; };
}; };
in in

View File

@ -1,24 +1,24 @@
{ stdenv, fetchurl, pkgconfig { stdenv, fetchurl, pkgconfig
, lv2, libGLU_combined, gtk2, cairo, pango, fftw }: , lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }:
let let
version = "0.8.1"; version = "0.9.10";
name = "meters.lv2-${version}"; name = "meters.lv2-${version}";
# robtk submodule is pegged to this version # robtk submodule is pegged to this version
robtkVersion = "0.3.0"; robtkVersion = "0.6.2";
robtkName = "robtk-${robtkVersion}"; robtkName = "robtk-${robtkVersion}";
src = fetchurl { src = fetchurl {
name = "${name}.tar.gz"; name = "${name}.tar.gz";
url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz"; url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
sha256 = "142dg0j34mv5b0agajj2x1n9kgsmkfh08n1cjzk0j8n4xk2wb6ri"; sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx";
}; };
robtkSrc = fetchurl { robtkSrc = fetchurl {
name = "${robtkName}.tar.gz"; name = "${robtkName}.tar.gz";
url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz"; url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
sha256 = "1ny89i2sgga56k7fxskp9y8sb7pfhp6wgw5mni842p19z6q7h8rq"; sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v";
}; };
in in
@ -26,15 +26,13 @@ stdenv.mkDerivation {
inherit name; inherit name;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftw ]; buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ];
srcs = [ src robtkSrc ]; srcs = [ src robtkSrc ];
sourceRoot = name; sourceRoot = name;
postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */ postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
postPatch = "sed -i 's/fftw3f/fftw3/' Makefile";
preConfigure = "makeFlagsArray=( PREFIX=$out )"; preConfigure = "makeFlagsArray=( PREFIX=$out )";
meter_VERSION = version; meter_VERSION = version;

View File

@ -1,23 +1,17 @@
{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qtbase, qttools, qtx11extras, cmake, pkgconfig }: { stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qt5, autoconf, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qsynth-${version}"; name = "qsynth-${version}";
version = "0.5.2"; version = "0.5.5";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz"; url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "1rfkaxq1pyc4hv3l0i6wicianbcbm1wp53kh9i5d4jsljgisd1dv"; sha256 = "08x7znvbwi9miavcarymi7dsv8njmxzwzma20dbmz8j2aswm53w5";
}; };
# cmake is looking for qsynth.desktop.in and fails if it doesn't find it nativeBuildInputs = [ autoconf pkgconfig ];
# seems like a bug and can presumable go in the next version after 0.5.2
postPatch = ''
mv src/qsynth.desktop src/qsynth.desktop.in
'';
nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ alsaLib fluidsynth libjack2 qt5.qtbase qt5.qttools qt5.qtx11extras ];
buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -17,24 +17,15 @@
}: }:
let let
pname = "rhythmbox"; pname = "rhythmbox";
version = "3.4.2"; version = "3.4.3";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2"; sha256 = "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx";
}; };
patches = [
# build with GStreamer 1.14 https://bugzilla.gnome.org/show_bug.cgi?id=788706
(fetchurl {
name = "fmradio-Fix-build-with-GStreamer-master.patch";
url = https://bugzilla.gnome.org/attachment.cgi?id=361178;
sha256 = "1h09mimlglj9hcmc3pfp0d6c277mqh2khwv9fryk43pkv3904d2w";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
intltool perl perlPackages.XMLParser intltool perl perlPackages.XMLParser

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "zynaddsubfx-${version}"; name = "zynaddsubfx-${version}";
version = "3.0.3"; version = "3.0.4";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2"; url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
sha256 = "1hfpiqdm337gl4ynkmmp2qss2m5z8mzqzjrbiyg6w1v4js7l9phi"; sha256 = "18m4ax0x06y1hx4g2g3gf02v0bldkrrb5m7fsr5jlfp1kvjd2j1x";
}; };
buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ]; buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ];

View File

@ -142,6 +142,9 @@ in runCommand
''; '';
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false; allowSubstitutes = false;
passthru = {
unwrapped = androidStudio;
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The Official IDE for Android (${channel} channel)"; description = "The Official IDE for Android (${channel} channel)";
longDescription = '' longDescription = ''

View File

@ -1,11 +1,11 @@
{ stdenv { gcc8Stdenv
, ctags , ctags
, appstream-glib
, desktop-file-utils , desktop-file-utils
, docbook_xsl , docbook_xsl
, docbook_xml_dtd_43 , docbook_xml_dtd_43
, fetchurl , fetchurl
, flatpak , flatpak
, glibcLocales
, gnome3 , gnome3
, libgit2-glib , libgit2-glib
, gobject-introspection , gobject-introspection
@ -31,28 +31,33 @@
, vte , vte
, webkitgtk , webkitgtk
, wrapGAppsHook , wrapGAppsHook
, dbus
, xvfb_run
}: }:
let let
version = "3.30.3"; # Does not build with GCC 7
# https://gitlab.gnome.org/GNOME/gnome-builder/issues/868
stdenv = gcc8Stdenv;
in
stdenv.mkDerivation rec {
pname = "gnome-builder"; pname = "gnome-builder";
in stdenv.mkDerivation { version = "3.32.0";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "11h6apjyah91djf77m8xkl5rvdz7mwpp3bjc4yzzs9lm3pag764r"; sha256 = "00l7sshpndk995aw98mjmsc3mxhxzynlp7il551iwwjjdbc70qp4";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
#appstream-glib # tests fail if these tools are available appstream-glib
desktop-file-utils desktop-file-utils
docbook_xsl docbook_xsl
docbook_xml_dtd_43 docbook_xml_dtd_43
glibcLocales # for Meson's gtkdochelper
gobject-introspection gobject-introspection
gtk-doc gtk-doc
hicolor-icon-theme hicolor-icon-theme
meson (meson.override ({ inherit stdenv; }))
ninja ninja
pkgconfig pkgconfig
python3 python3
@ -64,6 +69,7 @@ in stdenv.mkDerivation {
ctags ctags
flatpak flatpak
gnome3.devhelp gnome3.devhelp
gnome3.glade
libgit2-glib libgit2-glib
libpeas libpeas
vte vte
@ -83,6 +89,11 @@ in stdenv.mkDerivation {
webkitgtk webkitgtk
]; ];
checkInputs = [
dbus
xvfb_run
];
outputs = [ "out" "devdoc" ]; outputs = [ "out" "devdoc" ];
prePatch = '' prePatch = ''
@ -91,19 +102,25 @@ in stdenv.mkDerivation {
mesonFlags = [ mesonFlags = [
"-Dpython_libprefix=${python3.libPrefix}" "-Dpython_libprefix=${python3.libPrefix}"
"-Dwith_docs=true" "-Ddocs=true"
# Making the build system correctly detect clang header and library paths # Making the build system correctly detect clang header and library paths
# is difficult. Somebody should look into fixing this. # is difficult. Somebody should look into fixing this.
"-Dwith_clang=false" "-Dplugin_clang=false"
# Do not try to check if appstream images exist
"-Dnetwork_tests=false"
]; ];
# Some tests fail due to being unable to find the Vte typelib, and I don't # Some tests fail due to being unable to find the Vte typelib, and I don't
# understand why. Somebody should look into fixing this. # understand why. Somebody should look into fixing this.
doCheck = false; doCheck = true;
preInstall = '' checkPhase = ''
export LC_ALL="en_US.utf-8" export NO_AT_BRIDGE=1
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
meson test --print-errorlogs
''; '';
pythonPath = with python3.pkgs; requiredPythonModules [ pygobject3 ]; pythonPath = with python3.pkgs; requiredPythonModules [ pygobject3 ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee { stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee
, tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }: , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
let let
version = "3.30.2"; version = "3.32.0";
pname = "gnome-latex"; pname = "gnome-latex";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0fn3vy6w714wy0bz3y11zpdprpwxbv5xfiyyxjwp2nix9mbvv2sm"; sha256 = "1jdca9yhm7mm1aijd1a5amphgn15142kngky3id2am379ixrq1hg";
}; };
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";

View File

@ -12,10 +12,6 @@ stdenv.mkDerivation rec {
sha256 = "0yjn7y7al2xs8g0mrjvcym8gbjy4wmiv7lsljcrasjd7ymag1wgs"; sha256 = "0yjn7y7al2xs8g0mrjvcym8gbjy4wmiv7lsljcrasjd7ymag1wgs";
}; };
cmakeFlags = [
"-DBUILD_TESTING=OFF"
];
nativeBuildInputs = [ cmake extra-cmake-modules ]; nativeBuildInputs = [ cmake extra-cmake-modules ];
buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ];

View File

@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
}; };
cmakeFlags = [ cmakeFlags = [
"-DBUILD_TESTING=OFF"
"-DPYTHON_EXECUTABLE=${python}/bin/python" "-DPYTHON_EXECUTABLE=${python}/bin/python"
]; ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "okteta-${version}"; name = "okteta-${version}";
version = "0.25.5"; version = "0.26.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
sha256 = "1680hx4n36msz86gyjsdr5v7nf8rpybvzrvfw8y98l95hfq3l6g9"; sha256 = "0rxvbllisz4zl687zgpb9jj2nbxgfhhf2bj8bnsfaab5jb6jpi2y";
}; };
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];

View File

@ -23,7 +23,6 @@ stdenv.mkDerivation {
"-DBUILD_BIOMESH3D=1" "-DBUILD_BIOMESH3D=1"
"-DWITH_TETGEN=1" "-DWITH_TETGEN=1"
"-DBUILD_TYPE=Release" "-DBUILD_TYPE=Release"
"-DBUILD_TESTING=0"
"-DWITH_WXWIDGETS=ON" "-DWITH_WXWIDGETS=ON"
"-DITK_DIR=${itk}/lib/InsightToolkit" "-DITK_DIR=${itk}/lib/InsightToolkit"
"-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a" "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a"

View File

@ -1,31 +1,89 @@
{ fetchurl, stdenv, meson, ninja, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite { stdenv
, webkitgtk, pkgconfig, gnome3, gst_all_1, libgudev, libraw, glib, json-glib, gcr , fetchurl
, gettext, desktop-file-utils, gdk_pixbuf, librsvg, wrapGAppsHook , fetchpatch
, gobject-introspection, itstool, libgdata, python3 }: , meson
, ninja
, gtk3
, libexif
, libgphoto2
, libwebp
, libsoup
, libxml2
, vala
, sqlite
, webkitgtk
, pkgconfig
, gnome3
, gst_all_1
, libgudev
, libraw
, glib
, json-glib
, gcr
, libgee
, gexiv2
, librest
, gettext
, desktop-file-utils
, gdk_pixbuf
, librsvg
, wrapGAppsHook
, gobject-introspection
, itstool
, libgdata
, libchamplain
, python3
}:
# for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling # for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling
let stdenv.mkDerivation rec {
pname = "shotwell"; pname = "shotwell";
version = "0.30.2"; version = "0.31.0";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0pam0si110vkc65kh59lrmgkv91f9zxmf1gpfm99ixjgw25rfi8r"; sha256 = "1pwq953wl7h9cvw7rvlr6pcbq9w28kkr7ddb8x2si81ngp0imwyx";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja vala pkgconfig itstool gettext desktop-file-utils python3 wrapGAppsHook gobject-introspection meson
ninja
vala
pkgconfig
itstool
gettext
desktop-file-utils
python3
wrapGAppsHook
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gtk3 libexif libgphoto2 libsoup libxml2 sqlite webkitgtk gtk3
gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee libexif
libgudev gnome3.gexiv2 gnome3.gsettings-desktop-schemas libgphoto2
libraw json-glib glib gdk_pixbuf librsvg gnome3.rest libwebp
gcr gnome3.adwaita-icon-theme libgdata libsoup
libxml2
sqlite
webkitgtk
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
libgee
libgudev
gexiv2
gnome3.gsettings-desktop-schemas
libraw
json-glib
glib
gdk_pixbuf
librsvg
librest
gcr
gnome3.adwaita-icon-theme
libgdata
libchamplain
]; ];
postPatch = '' postPatch = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yEd-${version}"; name = "yEd-${version}";
version = "3.18.2"; version = "3.19";
src = fetchzip { src = fetchzip {
url = "https://www.yworks.com/resources/yed/demo/${name}.zip"; url = "https://www.yworks.com/resources/yed/demo/${name}.zip";
sha256 = "1csj19j9mfx4jfc949sz672h8lnfj217nn32d54cxj8llks82ycy"; sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33";
}; };
nativeBuildInputs = [ makeWrapper unzip ]; nativeBuildInputs = [ makeWrapper unzip ];

View File

@ -1,21 +1,47 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, gettext { stdenv
, libxml2, desktop-file-utils, wrapGAppsHook , fetchurl
, glib, gtk3, libgtop, gnome3 }: , meson
, ninja
, pkgconfig
, vala
, gettext
, libxml2
, desktop-file-utils
, wrapGAppsHook
, glib
, gtk3
, libgtop
, libdazzle
, gnome3
}:
let stdenv.mkDerivation rec {
pname = "gnome-usage"; pname = "gnome-usage";
version = "3.30.0"; version = "3.32.0";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0f1vccw916az8hzsqmx6f57jvl68s3sbd3qk4rpwn42ks1v7nmsh"; sha256 = "0bgszckddfpd3czyb9fddx4pgv5yv44sxc45dfk2kgqyy169gjih";
}; };
nativeBuildInputs = [ meson ninja pkgconfig vala gettext libxml2 desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [
desktop-file-utils
gettext
libxml2
meson
ninja
pkgconfig
vala
wrapGAppsHook
];
buildInputs = [ glib gtk3 libgtop gnome3.adwaita-icon-theme ]; buildInputs = [
glib
gnome3.adwaita-icon-theme
gtk3
libdazzle
libgtop
];
postPatch = '' postPatch = ''
chmod +x build-aux/meson/postinstall.sh chmod +x build-aux/meson/postinstall.sh
@ -29,7 +55,7 @@ in stdenv.mkDerivation rec {
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = ""; description = "A nice way to view information about use of system resources, like memory and disk space";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = gnome3.maintainers; maintainers = gnome3.maintainers;

View File

@ -9,13 +9,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "orca"; pname = "orca";
version = "3.30.2"; version = "3.32.0";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "17asibc46i5gr2fw04jvvdi85zzmxwlnhyq7r6cr3m5prrdr8a53"; sha256 = "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i";
}; };
patches = [ patches = [

View File

@ -6,12 +6,12 @@ let inherit (python3Packages) python buildPythonApplication fetchPypi;
in buildPythonApplication rec { in buildPythonApplication rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "safeeyes"; pname = "safeeyes";
version = "2.0.8.1"; version = "2.0.9";
namePrefix = ""; namePrefix = "";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1x52ym8n4r6h38n4mcydxkvz71hhrd9wbiq4gzvwrai0xzl6qqsq"; sha256 = "13q06jv8hm0dynmr3g5pf1m4j3w9iabrpz1nhpl02f7x0d90whg2";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,5 +1,9 @@
{fetchFromGitHub, stdenv, gtk3, pythonPackages, gobject-introspection}: { fetchFromGitHub, lib, gobject-introspection, gtk3, python3Packages }:
pythonPackages.buildPythonApplication rec {
# Although we copy in the udev rules here, you probably just want to use logitech-udev-rules instead of
# adding this to services.udev.packages on NixOS
python3Packages.buildPythonApplication rec {
pname = "solaar-unstable"; pname = "solaar-unstable";
version = "2019-01-30"; version = "2019-01-30";
@ -10,7 +14,8 @@ pythonPackages.buildPythonApplication rec {
sha256 = "0xg181xcwzzs8pdqvjrkjyaaga7ir93hzjvd17j9g3ns8xfj2mvr"; sha256 = "0xg181xcwzzs8pdqvjrkjyaaga7ir93hzjvd17j9g3ns8xfj2mvr";
}; };
propagatedBuildInputs = [pythonPackages.pygobject3 pythonPackages.pyudev gobject-introspection gtk3]; propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ];
postInstall = '' postInstall = ''
wrapProgram "$out/bin/solaar" \ wrapProgram "$out/bin/solaar" \
--prefix PYTHONPATH : "$PYTHONPATH" \ --prefix PYTHONPATH : "$PYTHONPATH" \
@ -19,12 +24,12 @@ pythonPackages.buildPythonApplication rec {
--prefix PYTHONPATH : "$PYTHONPATH" \ --prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
mkdir -p $out/lib/udev/rules.d install -Dm644 -t $out/etc/udev/rules.d rules.d/*.rules
cp rules.d/*.rules $out/lib/udev/rules.d/
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; {
meta = with lib; {
description = "Linux devices manager for the Logitech Unifying Receiver"; description = "Linux devices manager for the Logitech Unifying Receiver";
longDescription = '' longDescription = ''
Solaar is a Linux device manager for Logitechs Unifying Receiver Solaar is a Linux device manager for Logitechs Unifying Receiver
@ -40,6 +45,6 @@ pythonPackages.buildPythonApplication rec {
license = licenses.gpl2; license = licenses.gpl2;
homepage = https://pwr.github.io/Solaar/; homepage = https://pwr.github.io/Solaar/;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [maintainers.spinus maintainers.ysndr]; maintainers = with maintainers; [ spinus ysndr ];
}; };
} }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee
, keybinder3, json-glib, zeitgeist, vala_0_38, hicolor-icon-theme, gobject-introspection , keybinder3, json-glib, zeitgeist, vala, hicolor-icon-theme, gobject-introspection
}: }:
let let
@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig gettext vala_0_38 pkgconfig gettext vala
# For setup hook # For setup hook
gobject-introspection gobject-introspection
]; ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.6"; version = "3.7";
name = "xtermcontrol-${version}"; name = "xtermcontrol-${version}";
src = fetchurl { src = fetchurl {
url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz"; url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz";
sha256 = "01bwgxya6qh4br2lx3v98p7j1b99skgr6c1frw5kdkxy57qlpgkz"; sha256 = "04m12ddaps5sdbqvkwkp6lh81i8vh5ya5gzcxkrkilsga3m6qff2";
}; };
meta = { meta = {

View File

@ -25,13 +25,14 @@ let
''; '';
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "w3m-0.5.3+git20180125"; pname = "w3m";
version = "0.5.3+git20190105";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tats"; owner = "tats";
repo = "w3m"; repo = pname;
rev = "v0.5.3+git20180125"; rev = "v${version}";
sha256 = "0dafdfx1yhrvhbqzslkcapj09dvf64m2jadz3wl2icni0k4msq90"; sha256 = "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i";
}; };
NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl"; NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl";

View File

@ -1,4 +1,4 @@
{ lib, python36 }: { lib, python3 }:
# Flexget have been a trouble maker in the past, # Flexget have been a trouble maker in the past,
# if you see flexget breaking when updating packages, don't worry. # if you see flexget breaking when updating packages, don't worry.
@ -6,7 +6,7 @@
# -- Mic92 # -- Mic92
let let
python' = python36.override { inherit packageOverrides; }; python' = python3.override { inherit packageOverrides; };
packageOverrides = self: super: { packageOverrides = self: super: {
guessit = super.guessit.overridePythonAttrs (old: rec { guessit = super.guessit.overridePythonAttrs (old: rec {
@ -24,16 +24,14 @@ with python'.pkgs;
buildPythonApplication rec { buildPythonApplication rec {
pname = "FlexGet"; pname = "FlexGet";
version = "2.17.20"; version = "2.20.17";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "a09ef9482ed54f7e96eb8b4d08c59687c5c43a3341c9d2675383693e6c3681c3"; sha256 = "ed021d8d5c10555dad8dc1cb93c012e17b541fc25fc122b7ca76bb7e53fe82b3";
}; };
postPatch = '' postPatch = ''
# build for the correct python version
substituteInPlace setup.cfg --replace $'[bdist_wheel]\npython-tag = py27' ""
# remove dependency constraints # remove dependency constraints
sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt
''; '';
@ -47,12 +45,13 @@ buildPythonApplication rec {
beautifulsoup4 html5lib beautifulsoup4 html5lib
PyRSS2Gen pynzb rpyc jinja2 PyRSS2Gen pynzb rpyc jinja2
requests dateutil jsonschema requests dateutil jsonschema
pathpy guessit APScheduler pathpy guessit rebulk APScheduler
terminaltables colorclass terminaltables colorclass
cherrypy flask flask-restful cherrypy flask flask-restful
flask-restplus flask-compress flask-restplus flask-compress
flask_login flask-cors flask_login flask-cors
pyparsing zxcvbn-python future pyparsing zxcvbn-python future
progressbar
# Optional requirements # Optional requirements
deluge-client deluge-client
# Plugins # Plugins

View File

@ -3,15 +3,15 @@
buildGoPackage rec { buildGoPackage rec {
name = "coyim-${version}"; name = "coyim-${version}";
version = "0.3.7_1"; version = "0.3.11";
goPackagePath = "github.com/twstrike/coyim"; goPackagePath = "github.com/coyim/coyim";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "twstrike"; owner = "coyim";
repo = "coyim"; repo = "coyim";
rev = "df2c52fe865d38fa27e8a7af1d87612e8c048805"; rev = "v${version}";
sha256 = "1sna1n9dz1crws6cb1yjhy2kznbngjlbiw2diycshvbfigf7y7xl"; sha256 = "1g8nf56j17rdhhj7pv3ha1rb2mfc0mdvyzl35pgcki08w7iw08j3";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook glib cairo gdk_pixbuf gtk3 gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook glib cairo gdk_pixbuf gtk3 gnome3.adwaita-icon-theme ];

View File

@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true;
description = "An extensible Twitter client"; description = "An extensible Twitter client";
homepage = https://mikutter.hachune.net; homepage = https://mikutter.hachune.net;
platforms = ruby.meta.platforms; platforms = ruby.meta.platforms;

View File

@ -1,16 +1,18 @@
{ stdenv, fetchurl, dpkg { stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome2, gnome3 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome2, gnome3
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg }: , gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
, at-spi2-atk }:
let let
# Please keep the version x.y.0.z and do not update to x.y.76.z because the # Please keep the version x.y.0.z and do not update to x.y.76.z because the
# source of the latter disappears much faster. # source of the latter disappears much faster.
version = "8.34.0.78"; version = "8.42.76.54";
rpath = stdenv.lib.makeLibraryPath [ rpath = stdenv.lib.makeLibraryPath [
alsaLib alsaLib
atk atk
at-spi2-atk
cairo cairo
cups cups
curl curl
@ -56,7 +58,7 @@ let
if stdenv.hostPlatform.system == "x86_64-linux" then if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"; url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
sha256 = "1986nvdw1cpj06rq76hjsif0j4z5g2k01v73r4c4n43q7dgzl5z0"; sha256 = "1r2wkaa4ss6b8289db3p012nlhvljbx57hp7jc9n0mp19yphd07l";
} }
else else
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}"; throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";

View File

@ -13,7 +13,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1sc8c0w2dbvcdv16idw02y35x0jx5ff6ddzij09pmqjx55zgsjf7"; cargoSha256 = "1sc8c0w2dbvcdv16idw02y35x0jx5ff6ddzij09pmqjx55zgsjf7";
buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
cargoBuildFlags = [ "--all" ]; cargoBuildFlags = [ "--all" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tixati-${version}"; name = "tixati-${version}";
version = "2.58"; version = "2.59";
src = fetchurl { src = fetchurl {
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz"; url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
sha256 = "077z5i0grkxkgw2npylv4r897434k2pr03brqx5hjpjw3797r141"; sha256 = "0vf5y9kj2g7psgdzv2r46jdh5krdps838ca4wwwxi0dd1mwa65my";
}; };
installPhase = '' installPhase = ''

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "unstable-2018-10-18";
name = "ps2client-${version}";
src = fetchFromGitHub {
owner = "ps2dev";
repo = "ps2client";
rev = "92fcaf18aabf74daaed40bd50d428cce326a87c0";
sha256 = "1rlmns44pxm6dkh6d3cz9sw8v7pvi53r7r5r3kgwdzkhixjj0cdg";
};
patchPhase = ''
sed -i -e "s|-I/usr/include||g" -e "s|-I/usr/local/include||g" Makefile
'';
installPhase = ''
make PREFIX=$out install
'';
meta = with stdenv.lib; {
description = "Desktop clients to interact with ps2link and ps2netfs";
homepage = https://github.com/ps2dev/ps2client;
license = licenses.bsd3;
maintainers = [ maintainers.genesis ];
platforms = platforms.unix;
};
}

View File

@ -13,13 +13,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "remmina"; pname = "remmina";
version = "1.3.3"; version = "1.3.4";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "Remmina"; owner = "Remmina";
repo = "Remmina"; repo = "Remmina";
rev = "v${version}"; rev = "v${version}";
sha256 = "09mizr9igf22kk26rdx5masai8ghd2nbqryvswkybvia2s6lccrs"; sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1";
}; };
nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
name = "syncplay-${version}"; name = "syncplay-${version}";
version = "1.6.2"; version = "1.6.3";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = https://github.com/Syncplay/syncplay/archive/v1.6.2.tar.gz; url = https://github.com/Syncplay/syncplay/archive/v1.6.3.tar.gz;
sha256 = "1850icvifq4487gqh8awvmvrjdbbkx2kshmysr0fbi6vcf0f3wj2"; sha256 = "151p1njlp3dp3pfr3l3m6ia5829zvjyjh4p45j6rgnicbh8sqrgs";
}; };
propagatedBuildInputs = with python3Packages; [ pyside twisted ]; propagatedBuildInputs = with python3Packages; [ pyside twisted ];

View File

@ -13,11 +13,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "znc-${version}"; name = "znc-${version}";
version = "1.7.2"; version = "1.7.3";
src = fetchurl { src = fetchurl {
url = "https://znc.in/releases/archive/${name}.tar.gz"; url = "https://znc.in/releases/archive/${name}.tar.gz";
sha256 = "1ac2csl5jr56vahnxdynlvrhwlvcc1gqxvyifckc6cn5aj7ygd30"; sha256 = "0g8i5hsl4kinpz1wp0a2zniidv3w2sd6awq8676fds516wcc6k0y";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -65,5 +65,7 @@ mkDerivation rec {
maintainers = with maintainers; [ phreedom ebzzry zraexy ]; maintainers = with maintainers; [ phreedom ebzzry zraexy ];
platforms = platforms.linux; platforms = platforms.linux;
license = with licenses; [ gpl2 lgpl2 ]; license = with licenses; [ gpl2 lgpl2 ];
hydraPlatforms = [];
broken = true; # fails to start, kde home not found
}; };
} }

View File

@ -1,17 +1,17 @@
{ fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook { fetchurl, stdenv, gtk, pkgconfig, libgsf, libofx, intltool, wrapGAppsHook
, hicolor-icon-theme, libsoup, gnome3 }: , hicolor-icon-theme, libsoup, gnome3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "grisbi-${version}"; name = "grisbi-${version}";
version = "1.0.4"; version = "1.2.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/grisbi/${name}.tar.bz2"; url = "mirror://sourceforge/grisbi/${name}.tar.bz2";
sha256 = "1rh2iqvi7lpz5l57vn7qk9azil3y1g65mfbi9hhbx956knh9bpf6"; sha1 = "1159c5491967fa7afd251783013579ffb45b891b";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup buildInputs = [ gtk libgsf libofx intltool hicolor-icon-theme libsoup
gnome3.adwaita-icon-theme ]; gnome3.adwaita-icon-theme ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -5,7 +5,7 @@
assert pythonSupport -> python != null && swig != null; assert pythonSupport -> python != null && swig != null;
let let
version = "1.0.0-RC"; version = "2.0.0";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gnuradio-limesdr-${version}"; name = "gnuradio-limesdr-${version}";
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
owner = "myriadrf"; owner = "myriadrf";
repo = "gr-limesdr"; repo = "gr-limesdr";
rev = "v${version}"; rev = "v${version}";
sha256 = "0b34mg9nfar2gcir98004ixrxmxi8p3p2hrvvi1razd869x2a0lf"; sha256 = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -15,9 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ itk vtk ]; buildInputs = [ itk vtk ];
cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ];
# as cmake otherwise tries to download test data:
"-DBUILD_TESTING=FALSE" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libminc ]; buildInputs = [ libminc ];
propagatedBuildInputs = with perlPackages; [ perl GetoptTabular MNI-Perllib ]; propagatedBuildInputs = with perlPackages; [ perl GetoptTabular MNI-Perllib ];
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DBUILD_TESTING=FALSE" ]; cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
# testing broken: './minc_wrapper: Permission denied' from Testing/ellipse0.mnc # testing broken: './minc_wrapper: Permission denied' from Testing/ellipse0.mnc
postFixup = '' postFixup = ''
@ -33,4 +33,3 @@ stdenv.mkDerivation rec {
license = licenses.free; license = licenses.free;
}; };
} }

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, zlib }:
stdenv.mkDerivation rec {
pname = "stacks";
version = "2.3e";
src = fetchurl {
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
sha256 = "046gmq8nzqy5v70ydqrhib2aiyrlja3cljvd37w4qbd4ryj3jr0w";
};
buildInputs = [ zlib ];
meta = {
description = "Software pipeline for building loci from short-read sequences";
homepage = http://catchenlab.life.illinois.edu/stacks/;
maintainers = [ stdenv.lib.maintainers.bzizou ];
license = stdenv.lib.licenses.gpl3;
};
}

View File

@ -4,12 +4,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.3"; version = "6.4";
name = "quantum-espresso-${version}"; name = "quantum-espresso-${version}";
src = fetchurl { src = fetchurl {
url = "https://gitlab.com/QEF/q-e/-/archive/qe-${version}/q-e-qe-${version}.tar.gz"; url = "https://gitlab.com/QEF/q-e/-/archive/qe-${version}/q-e-qe-${version}.tar.gz";
sha256 = "1738z3nhkzcrgnhnfg1r4lipbwvcrcprwhzjbjysnylmzbzwhrs0"; sha256 = "1zjblzf0xzwmhmpjm56xvv8wsv5jmp5a204irzyicmd77p86c4vq";
}; };
passthru = { passthru = {
@ -20,12 +20,6 @@ stdenv.mkDerivation rec {
patchShebangs configure patchShebangs configure
''; '';
# remove after 6.3 version:
# makefile needs to ignore install directory easier than applying patch
preInstall = ''
printf "\n.PHONY: install\n" >> Makefile
'';
buildInputs = [ fftw openblas gfortran ] buildInputs = [ fftw openblas gfortran ]
++ (stdenv.lib.optionals (mpi != null) [ mpi ]); ++ (stdenv.lib.optionals (mpi != null) [ mpi ]);

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "verilator-${version}"; name = "verilator-${version}";
version = "4.010"; version = "4.012";
src = fetchurl { src = fetchurl {
url = "https://www.veripool.org/ftp/${name}.tgz"; url = "https://www.veripool.org/ftp/${name}.tgz";
sha256 = "0wfmazhxb6bf6qznh7v756fv7jayjgkzar33gazkwdwfwa7p8lan"; sha256 = "0xzndazp1g5qxzfirgiv219zmx7qyxfn7wsqbfq93cp1m6rp4pai";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -20,7 +20,7 @@ assert sendEmailSupport -> perlSupport;
assert svnSupport -> perlSupport; assert svnSupport -> perlSupport;
let let
version = "2.19.2"; version = "2.21.0";
svn = subversionClient.override { perlBindings = perlSupport; }; svn = subversionClient.override { perlBindings = perlSupport; };
in in
@ -29,7 +29,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw"; sha256 = "0a0d0b07rmvs985zpndxxy0vzr0vq53kq5kyd68iv6gf8gkirjwc";
}; };
outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb"; outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";

View File

@ -3,9 +3,10 @@ and (2) make sure `gitman.info' isn't produced since it's broken (duplicate
node names). node names).
diff --git a/Documentation/Makefile b/Documentation/Makefile diff --git a/Documentation/Makefile b/Documentation/Makefile
index 26a2342bea..ceccd67ebb 100644
--- a/Documentation/Makefile --- a/Documentation/Makefile
+++ b/Documentation/Makefile +++ b/Documentation/Makefile
@@ -122,7 +122,7 @@ @@ -132,7 +132,7 @@ HTML_REPO = ../../git-htmldocs
MAKEINFO = makeinfo MAKEINFO = makeinfo
INSTALL_INFO = install-info INSTALL_INFO = install-info
@ -14,7 +15,7 @@ diff --git a/Documentation/Makefile b/Documentation/Makefile
DBLATEX = dblatex DBLATEX = dblatex
ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex
DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty
@@ -240,7 +240,7 @@ @@ -250,7 +250,7 @@ man1: $(DOC_MAN1)
man5: $(DOC_MAN5) man5: $(DOC_MAN5)
man7: $(DOC_MAN7) man7: $(DOC_MAN7)
@ -23,7 +24,7 @@ diff --git a/Documentation/Makefile b/Documentation/Makefile
pdf: user-manual.pdf pdf: user-manual.pdf
@@ -256,10 +256,9 @@ @@ -266,10 +266,9 @@ install-man: man
install-info: info install-info: info
$(INSTALL) -d -m 755 $(DESTDIR)$(infodir) $(INSTALL) -d -m 755 $(DESTDIR)$(infodir)

View File

@ -1,7 +1,8 @@
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 1afe9fc858..05dd7c3a90 100644
--- a/Documentation/git-send-email.txt --- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt
@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'. @@ -215,8 +215,7 @@ a password is obtained using 'git-credential'.
specify a full pathname of a sendmail-like program instead; specify a full pathname of a sendmail-like program instead;
the program must support the `-i` option. Default value can the program must support the `-i` option. Default value can
be specified by the `sendemail.smtpServer` configuration be specified by the `sendemail.smtpServer` configuration
@ -12,9 +13,10 @@ diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
--smtp-server-port=<port>:: --smtp-server-port=<port>::
diff --git a/git-send-email.perl b/git-send-email.perl diff --git a/git-send-email.perl b/git-send-email.perl
index 8eb63b5a2f..74a61d8213 100755
--- a/git-send-email.perl --- a/git-send-email.perl
+++ b/git-send-email.perl +++ b/git-send-email.perl
@@ -944,8 +944,7 @@ if (defined $reply_to) { @@ -956,8 +956,7 @@ sub expand_one_alias {
} }
if (!defined $smtp_server) { if (!defined $smtp_server) {

View File

@ -1,94 +1,23 @@
diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
index e1d917fd27..e90f8e1414 100644
--- a/git-sh-i18n.sh --- a/git-sh-i18n.sh
+++ b/git-sh-i18n.sh +++ b/git-sh-i18n.sh
@@ -15,87 +15,11 @@ @@ -26,7 +26,7 @@ then
fi elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
export TEXTDOMAINDIR then
: no probing necessary
-# First decide what scheme to use...
-GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
-if test -n "$GIT_GETTEXT_POISON"
-then
- GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
-elif test -n "@@USE_GETTEXT_SCHEME@@"
-then
- GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
-elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
-then
- : no probing necessary
-elif type gettext.sh >/dev/null 2>&1 -elif type gettext.sh >/dev/null 2>&1
-then +elif type @gettext@/bin/gettext.sh >/dev/null 2>&1
- # GNU libintl's gettext.sh then
- GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu # GNU libintl's gettext.sh
-elif test "$(gettext -h 2>&1)" = "-h" GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
-then @@ -43,7 +43,8 @@ export GIT_INTERNAL_GETTEXT_SH_SCHEME
- # gettext binary exists but no gettext.sh. likely to be a gettext case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
- # binary on a Solaris or something that is not GNU libintl and gnu)
- # lack eval_gettext. # Use libintl's gettext.sh, or fall back to English if we can't.
- GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
-fi
-export GIT_INTERNAL_GETTEXT_SH_SCHEME
-
-# ... and then follow that decision.
-case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
-gnu)
- # Use libintl's gettext.sh, or fall back to English if we can't.
- . gettext.sh - . gettext.sh
- ;; + . @gettext@/bin/gettext.sh
-gettext_without_eval_gettext) + export PATH=@gettext@/bin:$PATH
- # Solaris has a gettext(1) but no eval_gettext(1) ;;
- eval_gettext () { gettext_without_eval_gettext)
- gettext "$1" | ( # Solaris has a gettext(1) but no eval_gettext(1)
- export PATH $(git sh-i18n--envsubst --variables "$1");
- git sh-i18n--envsubst "$1"
- )
- }
-
- eval_ngettext () {
- ngettext "$1" "$2" "$3" | (
- export PATH $(git sh-i18n--envsubst --variables "$2");
- git sh-i18n--envsubst "$2"
- )
- }
- ;;
-poison)
- # Emit garbage so that tests that incorrectly rely on translatable
- # strings will fail.
- gettext () {
- printf "%s" "# GETTEXT POISON #"
- }
-
- eval_gettext () {
- printf "%s" "# GETTEXT POISON #"
- }
-
- eval_ngettext () {
- printf "%s" "# GETTEXT POISON #"
- }
- ;;
-*)
- gettext () {
- printf "%s" "$1"
- }
-
- eval_gettext () {
- printf "%s" "$1" | (
- export PATH $(git sh-i18n--envsubst --variables "$1");
- git sh-i18n--envsubst "$1"
- )
- }
+# GNU gettext
+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
+export PATH=@gettext@/bin:$PATH
- eval_ngettext () {
- (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | (
- export PATH $(git sh-i18n--envsubst --variables "$2");
- git sh-i18n--envsubst "$2"
- )
- }
- ;;
-esac
+. @gettext@/bin/gettext.sh
# Git-specific wrapper functions
gettextln () {

View File

@ -1,12 +1,13 @@
diff --git a/t/test-lib.sh b/t/test-lib.sh diff --git a/t/test-lib.sh b/t/test-lib.sh
index 8665b0a9b6..8bb892b1af 100644
--- a/t/test-lib.sh --- a/t/test-lib.sh
+++ b/t/test-lib.sh +++ b/t/test-lib.sh
@@ -923,7 +923,7 @@ @@ -1227,7 +1227,7 @@ elif test -n "$GIT_TEST_INSTALLED"
then then
GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) || GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) ||
error "Cannot run git from $GIT_TEST_INSTALLED." error "Cannot run git from $GIT_TEST_INSTALLED."
- PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR:$PATH - PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$PATH
+ PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH + PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH
GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH} GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH}
else # normal case, use ../bin-wrappers only unless $with_dashes: else # normal case, use ../bin-wrappers only unless $with_dashes:
git_bin_dir="$GIT_BUILD_DIR/bin-wrappers" if test -n "$no_bin_wrappers"

View File

@ -1,8 +1,8 @@
diff --git a/connect.c b/connect.c diff --git a/connect.c b/connect.c
index c3a014c5b..fbca3262b 100644 index 4813f005ab..b3f12f3268 100644
--- a/connect.c --- a/connect.c
+++ b/connect.c +++ b/connect.c
@@ -1010,7 +1010,7 @@ static void fill_ssh_args(struct child_process *conn, const char *ssh_host, @@ -1183,7 +1183,7 @@ static void fill_ssh_args(struct child_process *conn, const char *ssh_host,
ssh = getenv("GIT_SSH"); ssh = getenv("GIT_SSH");
if (!ssh) if (!ssh)
@ -12,7 +12,7 @@ index c3a014c5b..fbca3262b 100644
} }
diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
index 480a6b30d..781720424 100644 index 480a6b30d0..7817204241 100644
--- a/git-gui/lib/remote_add.tcl --- a/git-gui/lib/remote_add.tcl
+++ b/git-gui/lib/remote_add.tcl +++ b/git-gui/lib/remote_add.tcl
@@ -139,7 +139,7 @@ method _add {} { @@ -139,7 +139,7 @@ method _add {} {

View File

@ -1,22 +1,22 @@
{ stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook { stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook
, libxml2, gobject-introspection, gtk3, gtksourceview, gnome3 , libxml2, gobject-introspection, gtk3, gtksourceview, gnome3
, dbus, xvfb_run , gsettings-desktop-schemas, dbus, xvfb_run
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "meld"; pname = "meld";
version = "3.20.0"; version = "3.20.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "11khi1sg02k3b9qdag3r939cwi27cql4kjim7jhxf9ckfhpzwh6b"; sha256 = "0jdj7kd6vj1mdc16gvrj1kar88b2j5875ajq18fx7cbc9ny46j55";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
intltool itstool libxml2 gobject-introspection wrapGAppsHook intltool itstool libxml2 gobject-introspection wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
gtk3 gtksourceview gnome3.gsettings-desktop-schemas gnome3.adwaita-icon-theme gtk3 gtksourceview gsettings-desktop-schemas gnome3.adwaita-icon-theme
gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now
]; ];
propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ]; propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ];

View File

@ -11,7 +11,7 @@
# Codecs, audio # Codecs, audio
libopus, lame, libvorbis, a52dec, speex, libsamplerate, libopus, lame, libvorbis, a52dec, speex, libsamplerate,
# Text processing # Text processing
libiconv, fribidi, fontconfig, freetype, libass, jansson, libxml2, libiconv, fribidi, fontconfig, freetype, libass, jansson, libxml2, harfbuzz,
# Optical media # Optical media
libdvdread, libdvdnav, libdvdcss, libbluray, libdvdread, libdvdnav, libdvdcss, libbluray,
useGtk ? true, wrapGAppsHook ? null, useGtk ? true, wrapGAppsHook ? null,
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
ffmpeg-full libogg libtheora x264 x265 libvpx ffmpeg-full libogg libtheora x264 x265 libvpx
libopus lame libvorbis a52dec speex libsamplerate libopus lame libvorbis a52dec speex libsamplerate
libiconv fribidi fontconfig freetype libass jansson libxml2 libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz
libdvdread libdvdnav libdvdcss libbluray libdvdread libdvdnav libdvdcss libbluray
] ++ lib.optionals useGtk [ ] ++ lib.optionals useGtk [
glib gtk3 libappindicator-gtk3 libnotify glib gtk3 libappindicator-gtk3 libnotify

View File

@ -1,7 +1,7 @@
{ config, stdenv, fetchurl, fetchFromGitHub, makeWrapper { config, stdenv, fetchurl, fetchFromGitHub, makeWrapper
, docutils, perl, pkgconfig, python3, which, ffmpeg_4 , docutils, perl, pkgconfig, python3, which, ffmpeg_4
, freefont_ttf, freetype, libass, libpthreadstubs, mujs , freefont_ttf, freetype, libass, libpthreadstubs, mujs
, lua, libuchardet, libiconv ? null, darwin , nv-codec-headers, lua, libuchardet, libiconv ? null, darwin
, waylandSupport ? stdenv.isLinux , waylandSupport ? stdenv.isLinux
, wayland ? null , wayland ? null
@ -141,7 +141,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
ffmpeg_4 freetype libass libpthreadstubs ffmpeg_4 freetype libass libpthreadstubs
luaEnv libuchardet mujs luaEnv libuchardet mujs nv-codec-headers
] ++ optional alsaSupport alsaLib ] ++ optional alsaSupport alsaLib
++ optional archiveSupport libarchive ++ optional archiveSupport libarchive
++ optional bluraySupport libbluray ++ optional bluraySupport libbluray

View File

@ -0,0 +1,48 @@
{ stdenv, fetchFromGitHub, python }:
stdenv.mkDerivation rec {
version = "0.9.8";
pname = "charliecloud";
src = fetchFromGitHub {
owner = "hpc";
repo = "charliecloud";
rev = "v${version}";
sha256 = "1w1wy4sj9zqfysrpf04shhppcf5ap4rp7i3ja81sv2fm27k4m9nl";
};
buildInputs = [ python ];
preConfigure = ''
substituteInPlace Makefile --replace '/bin/bash' '${stdenv.shell}'
patchShebangs test/
'';
makeFlags = [
"PREFIX=$(out)"
"LIBEXEC_DIR=lib/charliecloud"
];
postInstall = ''
mkdir -p $out/share/charliecloud
mv $out/lib/charliecloud/examples $out/share/charliecloud
mv $out/lib/charliecloud/test $out/share/charliecloud
'';
meta = {
description = "User-defined software stacks (UDSS) for high-performance computing (HPC) centers";
longDescription = ''
Charliecloud uses Linux user namespaces to run containers with no
privileged operations or daemons and minimal configuration changes on
center resources. This simple approach avoids most security risks
while maintaining access to the performance and functionality already
on offer.
'';
homepage = https://hpc.github.io/charliecloud;
license = stdenv.lib.licenses.asl20;
maintainers = [ stdenv.lib.maintainers.bzizou ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -329,6 +329,7 @@ stdenv.mkDerivation {
{ description = { description =
stdenv.lib.attrByPath ["meta" "description"] "System binary utilities" bintools_ stdenv.lib.attrByPath ["meta" "description"] "System binary utilities" bintools_
+ " (wrapper script)"; + " (wrapper script)";
priority = 10;
} // optionalAttrs useMacosReexportHack { } // optionalAttrs useMacosReexportHack {
platforms = stdenv.lib.platforms.darwin; platforms = stdenv.lib.platforms.darwin;
}; };

View File

@ -1,4 +1,4 @@
{ stdenv, cacert, git, cargo, rustc, cargo-vendor, fetchcargo, python3 }: { stdenv, cacert, git, cargo, rustc, cargo-vendor, fetchcargo, python3, buildPackages }:
{ name ? "${args.pname}-${args.version}" { name ? "${args.pname}-${args.version}"
, cargoSha256 ? "unset" , cargoSha256 ? "unset"
@ -9,14 +9,17 @@
, sourceRoot ? null , sourceRoot ? null
, logLevel ? "" , logLevel ? ""
, buildInputs ? [] , buildInputs ? []
, nativeBuildInputs ? []
, cargoUpdateHook ? "" , cargoUpdateHook ? ""
, cargoDepsHook ? "" , cargoDepsHook ? ""
, cargoBuildFlags ? [] , cargoBuildFlags ? []
, buildType ? "release"
, cargoVendorDir ? null , cargoVendorDir ? null
, ... } @ args: , ... } @ args:
assert cargoVendorDir == null -> cargoSha256 != "unset"; assert cargoVendorDir == null -> cargoSha256 != "unset";
assert buildType == "release" || buildType == "debug";
let let
cargoDeps = if cargoVendorDir == null cargoDeps = if cargoVendorDir == null
@ -37,20 +40,24 @@ let
cargoDepsCopy="$sourceRoot/${cargoVendorDir}" cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
''; '';
ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
releaseDir = "target/${stdenv.hostPlatform.config}/${buildType}";
in stdenv.mkDerivation (args // { in stdenv.mkDerivation (args // {
inherit cargoDeps; inherit cargoDeps;
patchRegistryDeps = ./patch-registry-deps; patchRegistryDeps = ./patch-registry-deps;
buildInputs = [ cacert git cargo rustc ] ++ buildInputs; nativeBuildInputs = [ cargo rustc git cacert ] ++ nativeBuildInputs;
inherit buildInputs;
patches = cargoPatches ++ patches; patches = cargoPatches ++ patches;
configurePhase = args.configurePhase or '' PKG_CONFIG_ALLOW_CROSS =
runHook preConfigure if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0;
# noop
runHook postConfigure
'';
postUnpack = '' postUnpack = ''
eval "$cargoDepsHook" eval "$cargoDepsHook"
@ -70,10 +77,44 @@ in stdenv.mkDerivation (args // {
export RUST_LOG=${logLevel} export RUST_LOG=${logLevel}
'' + (args.postUnpack or ""); '' + (args.postUnpack or "");
configurePhase = args.configurePhase or ''
runHook preConfigure
mkdir -p .cargo
cat >> .cargo/config <<'EOF'
[target."${stdenv.buildPlatform.config}"]
"linker" = "${ccForBuild}"
${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
[target."${stdenv.hostPlatform.config}"]
"linker" = "${ccForHost}"
''}
EOF
cat .cargo/config
runHook postConfigure
'';
buildPhase = with builtins; args.buildPhase or '' buildPhase = with builtins; args.buildPhase or ''
runHook preBuild runHook preBuild
echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}"
cargo build --release --frozen ${concatStringsSep " " cargoBuildFlags} (
set -x
env \
"CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \
"CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \
"CC_${stdenv.hostPlatform.config}"="${ccForHost}" \
"CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
cargo build \
--${buildType} \
--target ${stdenv.hostPlatform.config} \
--frozen ${concatStringsSep " " cargoBuildFlags}
)
# rename the output dir to a architecture independent one
mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep '${releaseDir}$')
for target in "''${targets[@]}"; do
rm -rf "$target/../../${buildType}"
ln -srf "$target" "$target/../../"
done
runHook postBuild runHook postBuild
''; '';
@ -86,11 +127,21 @@ in stdenv.mkDerivation (args // {
doCheck = args.doCheck or true; doCheck = args.doCheck or true;
inherit releaseDir;
installPhase = args.installPhase or '' installPhase = args.installPhase or ''
runHook preInstall runHook preInstall
mkdir -p $out/bin $out/lib mkdir -p $out/bin $out/lib
find target/release -maxdepth 1 -type f -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin
find target/release -maxdepth 1 -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib find $releaseDir \
-maxdepth 1 \
-type f \
-executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) \
-print0 | xargs -r -0 cp -t $out/bin
find $releaseDir \
-maxdepth 1 \
-regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \
-print0 | xargs -r -0 cp -t $out/lib
rmdir --ignore-fail-on-non-empty $out/lib $out/bin rmdir --ignore-fail-on-non-empty $out/lib $out/bin
runHook postInstall runHook postInstall
''; '';

View File

@ -1,18 +0,0 @@
{ callPackage }:
{ rustc, cargo, ... }: {
rust = {
inherit rustc cargo;
};
buildRustPackage = callPackage ./default.nix {
inherit rustc cargo;
fetchcargo = callPackage ./fetchcargo.nix {
inherit cargo;
};
};
rustcSrc = callPackage ../../development/compilers/rust/rust-src.nix {
inherit rustc;
};
}

View File

@ -30,6 +30,10 @@ wrapGAppsHook() {
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share") gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share")
fi fi
if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A $prefix/lib/gio/modules)" ] ; then
gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules")
fi
for v in $wrapPrefixVariables GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do for v in $wrapPrefixVariables GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
eval local dummy="\$$v" eval local dummy="\$$v"
gappsWrapperArgs+=(--prefix $v : "$dummy") gappsWrapperArgs+=(--prefix $v : "$dummy")

View File

@ -149,7 +149,7 @@ rec {
${text} ${text}
''; '';
checkPhase = '' checkPhase = ''
${runtimeShell} -n $out/bin/${name} ${stdenv.shell} -n $out/bin/${name}
''; '';
}; };

View File

@ -178,6 +178,16 @@ rec {
writeJSBin = name: writeJSBin = name:
writeJS "/bin/${name}"; writeJS "/bin/${name}";
writeNginxConfig = name: text: pkgs.runCommand name {
inherit text;
passAsFile = [ "text" ];
} /* sh */ ''
cp "$textPath" $out
${pkgs.nginx-config-formatter}/bin/nginxfmt $out
${pkgs.gnused}/bin/sed -i '/^$/d' $out
${pkgs.gixy}/bin/gixy $out
'';
# writePerl takes a name an attributeset with libraries and some perl sourcecode and # writePerl takes a name an attributeset with libraries and some perl sourcecode and
# returns an executable # returns an executable
# #

View File

@ -1,13 +1,13 @@
{stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool {stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool
, libxml2, glib}: , libxml2, glib}:
let version = "1.10"; in let version = "1.12"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "shared-mime-info-${version}"; name = "shared-mime-info-${version}";
src = fetchurl { src = fetchurl {
url = "http://freedesktop.org/~hadess/${name}.tar.xz"; url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/80c7f1afbcad2769f38aeb9ba6317a51/shared-mime-info-1.12.tar.xz";
sha256 = "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"; sha256 = "0gj0pp36qpsr9w6v4nywnjpcisadwkndapqsjn0ny3gd0zzg1chq";
}; };
nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]); nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]);

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
go-dbus-generator go-dbus-generator
]; ];
makeFlags = [ "GOPATH=$(out)/share/go" ]; makeFlags = [ "GOPATH=${placeholder ''out''}/share/go" ];
postPatch = '' postPatch = ''
sed -i -e 's:/share/gocode:/share/go:' Makefile sed -i -e 's:/share/gocode:/share/go:' Makefile

View File

@ -1,12 +1,32 @@
{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, { stdenv, buildGoPackage, fetchFromGitHub, pkgconfig,
deepin-gettext-tools, go-dbus-factory, go-gir-generator, go-lib, alsaLib,
alsaLib, glib, gtk3, libcanberra, libgudev, librsvg, poppler, bc,
pulseaudio, go, deepin }: blur-effect,
coreutils,
dbus-factory,
deepin,
deepin-gettext-tools,
fontconfig,
glib,
go,
go-dbus-factory,
go-gir-generator,
go-lib,
grub2,
gtk3,
libcanberra,
libgudev,
librsvg,
poppler,
pulseaudio,
rfkill,
xcur2png
}:
buildGoPackage rec { buildGoPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dde-api"; pname = "dde-api";
version = "3.5.0"; version = "3.18.1";
goPackagePath = "pkg.deepin.io/dde/api"; goPackagePath = "pkg.deepin.io/dde/api";
@ -14,33 +34,62 @@ buildGoPackage rec {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1g3s0i5wa6qyv00yksz4r4cy2vhiknq8v0yx7aribvwm3gxf7jw3"; sha256 = "0y8v18f6l3ycysdn4qi7c93z805q7alji8wix4j4qh9x9r35d728";
}; };
goDeps = ./deps.nix; goDeps = ./deps.nix;
outputs = [ "out" ];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
deepin-gettext-tools deepin-gettext-tools # build
go-dbus-factory dbus-factory # build
go-gir-generator go-dbus-factory # needed
go-lib go-gir-generator # needed
go-lib # build
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
alsaLib alsaLib # needed
glib bc # run (to adjust grub theme?)
gtk3 blur-effect # run (is it really needed?)
libcanberra coreutils # run (is it really needed?)
libgudev fontconfig # run (is it really needed?)
librsvg #glib # ? arch
poppler grub2 # run (is it really needed?)
pulseaudio gtk3 # build run
libcanberra # build run
libgudev # needed
librsvg # build run
poppler # build run
pulseaudio # needed
rfkill # run
xcur2png # run
#locales # run (locale-helper needs locale-gen, which is unavailable on NixOS?)
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths # debugging
sed -i -e "s|/var|$bin/var|" Makefile
sed -i -e "s|/var|$out/var|" Makefile
# TODO: confirm where to install grub themes
sed -i -e "s|/boot/grub|$out/boot/grub|" Makefile
fixPath $out /usr/lib/deepin-api \
lunar-calendar/main.go \
misc/services/com.deepin.api.CursorHelper.service \
misc/services/com.deepin.api.Graphic.service \
misc/services/com.deepin.api.LunarCalendar.service \
misc/services/com.deepin.api.Pinyin.service \
misc/system-services/com.deepin.api.Device.service \
misc/system-services/com.deepin.api.LocaleHelper.service \
misc/system-services/com.deepin.api.SoundThemePlayer.service \
misc/systemd/system/deepin-shutdown-sound.service \
theme_thumb/gtk/gtk.go \
thumbnails/gtk/gtk.go
''; '';
buildPhase = '' buildPhase = ''
@ -49,10 +98,9 @@ buildGoPackage rec {
''; '';
installPhase = '' installPhase = ''
make install PREFIX="$bin" SYSTEMD_LIB_DIR="$bin/lib" -C go/src/${goPackagePath} make install PREFIX="$out" SYSTEMD_LIB_DIR="$out/lib" -C go/src/${goPackagePath}
mkdir -p $out/share mv $out/share/gocode $out/share/go
mv $bin/share/gocode $out/share/go remove-references-to -t ${go} $out/bin/* $out/lib/deepin-api/*
remove-references-to -t ${go} $bin/bin/* $bin/lib/deepin-api/*
''; '';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,4 +1,4 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 # This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[ [
{ {
goPackagePath = "github.com/alecthomas/template"; goPackagePath = "github.com/alecthomas/template";
@ -32,8 +32,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/disintegration/imaging"; url = "https://github.com/disintegration/imaging";
rev = "9458da53d1e65e098d48467a4317c403327e4424"; rev = "061e8a750a4db9667cdf9e2af7f4029ba506cb3b";
sha256 = "1b0ma9if8s892qfx5b1vjinxn00ah9vsyxijs8knkilrhf5vqcx4"; sha256 = "13fkknwz2iby5rdzv9sgam6p27zdgxis3sxgyls9sdir5lbhjhm7";
}; };
} }
{ {
@ -41,8 +41,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/fogleman/gg"; url = "https://github.com/fogleman/gg";
rev = "0e0ff3ade7039063fe954cc1b45fad6cd4ac80db"; rev = "0403632d5b905943a1c2a5b2763aaecd568467ec";
sha256 = "06gvsngfwizdxin90nldix5503fqgnwqmqvxzrz0xg5hfazwfra5"; sha256 = "1nkldjghbqnzj2djfaxhiv35kk341xhcrj9m2dwq65v684iqkk8n";
}; };
} }
{ {
@ -59,8 +59,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/linuxdeepin/go-x11-client"; url = "https://github.com/linuxdeepin/go-x11-client";
rev = "03541136501cab4910ad8852fe749ef8e18907ca"; rev = "48c75d615ef634d9b1c24f8e8a30f56201b4f561";
sha256 = "1iiw8qclpklim81hz1sdjp2ajw0ljvjz19n9jly86nbw6m8x4gkp"; sha256 = "1x2i9wg6lyskls5qi3d2r84bdhyhgi8v1d8scxx9ysjaw9di9ldl";
}; };
} }
{ {
@ -77,8 +77,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/image"; url = "https://go.googlesource.com/image";
rev = "69cc3646b96e61de0b417f4815b86c36e65783ee"; rev = "3fc05d484e9f77dd51816890e05f2602e4ca4d65";
sha256 = "0nkywb3r0qvwkmykpswnf0svxi463ycn293y5jjididzxv9qxdp9"; sha256 = "0mcip8jpz2061j1z658rfskphc92wv6sapy81p95bnjdymi562k3";
}; };
} }
{ {
@ -86,8 +86,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/net"; url = "https://go.googlesource.com/net";
rev = "c44066c5c816ec500d459a2a324a753f78531ae0"; rev = "74de082e2cca95839e88aa0aeee5aadf6ce7710f";
sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f"; sha256 = "0a4y3y0q5bkif7wvdkyjkvgnzlbh2n4zk7wsy5j95raf0i3zlw4s";
}; };
} }
{ {

View File

@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
qmake qmake
qttools qttools
deepin-gettext-tools deepin-gettext-tools
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -27,11 +28,14 @@ stdenv.mkDerivation rec {
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths
patchShebangs translate_generation.sh
patchShebangs translate_desktop.sh
fixPath $out /usr com.deepin.Calendar.service
sed -i translate_desktop.sh \ sed -i translate_desktop.sh \
-e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert," -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
sed -i com.deepin.Calendar.service \
-e "s,/usr,$out,"
''; '';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,13 +1,15 @@
{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig, { stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig,
dbus-factory, go-dbus-factory, go-gir-generator, go-lib, dbus-factory, go-dbus-factory, go-gir-generator, go-lib,
deepin-gettext-tools, dde-api, alsaLib, glib, gtk3, libinput, libnl, deepin-gettext-tools, dde-api, deepin-desktop-schemas,
librsvg, linux-pam, networkmanager, pulseaudio, xorg, gnome3, deepin-wallpapers, deepin-desktop-base, alsaLib, glib, gtk3,
python3Packages, hicolor-icon-theme, go, deepin }: libgudev, libinput, libnl, librsvg, linux-pam, networkmanager,
pulseaudio, xorg, python3, hicolor-icon-theme, glibc, tzdata, go,
deepin, makeWrapper, wrapGAppsHook }:
buildGoPackage rec { buildGoPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dde-daemon"; pname = "dde-daemon";
version = "3.6.0"; version = "3.24.1";
goPackagePath = "pkg.deepin.io/dde/daemon"; goPackagePath = "pkg.deepin.io/dde/daemon";
@ -15,15 +17,14 @@ buildGoPackage rec {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0gn2zp34wg79lvzdfla6yb4gs3f9ll83kj765zvig1wpx51nq1aj"; sha256 = "1qxj0mqnl10qj8qidpc1sv8gm4gj5965i07d003yxlxcw9cqwx7y";
}; };
patches = [ patches = [
# https://github.com/linuxdeepin/dde-daemon/issues/51 # https://github.com/linuxdeepin/dde-daemon/issues/51
(fetchpatch { (fetchpatch {
name = "dde-daemon_3.2.3.patch"; url = https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.8.0.patch;
url = https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.2.3.patch; sha256 = "1ampdsp9zlg263flswdw9gj10n7gxh7zi6w6z9jgh29xlai05pvh";
sha256 = "0a3xb15czpfl2vajpf7ycw37vr7fbw2png1a67mvjjkgx7d1k7dg";
}) })
]; ];
@ -38,46 +39,70 @@ buildGoPackage rec {
go-gir-generator go-gir-generator
go-lib go-lib
deepin-gettext-tools deepin-gettext-tools
dde-api
linux-pam linux-pam
networkmanager networkmanager
networkmanager.dev networkmanager.dev
python3Packages.python python3
makeWrapper
wrapGAppsHook
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
alsaLib alsaLib
dde-api
deepin-desktop-base
deepin-desktop-schemas
deepin-wallpapers
glib glib
gnome3.libgudev libgudev
gtk3 gtk3
hicolor-icon-theme hicolor-icon-theme
libinput libinput
libnl libnl
librsvg librsvg
pulseaudio pulseaudio
tzdata
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths
patchShebangs network/nm_generator/gen_nm_consts.py
sed -i network/nm_generator/Makefile -e 's,/usr/share/gir-1.0/NM-1.0.gir,${networkmanager.dev}/share/gir-1.0/NM-1.0.gir,' fixPath $out /usr/share/dde/data launcher/manager.go dock/dock_manager_init.go
fixPath ${networkmanager.dev} /usr/share/gir-1.0/NM-1.0.gir network/nm_generator/Makefile
fixPath ${glibc.bin} /usr/bin/getconf systeminfo/utils.go
fixPath ${deepin-desktop-base} /etc/deepin-version systeminfo/version.go accounts/deepinversion.go
fixPath ${tzdata} /usr/share/zoneinfo timedate/zoneinfo/zone.go
fixPath ${dde-api} /usr/lib/deepin-api grub2/modify_manger.go accounts/image_blur.go
fixPath ${deepin-wallpapers} /usr/share/wallpapers appearance/background/list.go accounts/user.go
sed -i -e "s|{DESTDIR}/etc|{DESTDIR}$out/etc|" Makefile sed -i -e "s|{DESTDIR}/etc|{DESTDIR}$out/etc|" Makefile
sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile
sed -i -e "s|{DESTDIR}/lib|{DESTDIR}$out/lib|" Makefile sed -i -e "s|{DESTDIR}/lib|{DESTDIR}$out/lib|" Makefile
find -type f -exec sed -i -e "s,/usr/lib/deepin-daemon,$out/lib/deepin-daemon," {} + find -type f -exec sed -i -e "s,/usr/lib/deepin-daemon,$out/lib/deepin-daemon," {} +
searchHardCodedPaths
''; '';
buildPhase = '' buildPhase = ''
make -C go/src/${goPackagePath}
# compilation of the nm module is failing # compilation of the nm module is failing
#make -C go/src/${goPackagePath}/network/nm_generator gen-nm-code #make -C go/src/${goPackagePath}/network/nm_generator gen-nm-code
make -C go/src/${goPackagePath}
''; '';
installPhase = '' installPhase = ''
make install PREFIX="$out" -C go/src/${goPackagePath} make install PREFIX="$out" -C go/src/${goPackagePath}
remove-references-to -t ${go} $out/lib/deepin-daemon/* remove-references-to -t ${go} $out/lib/deepin-daemon/*
searchHardCodedPaths $out
'';
postFixup = ''
# wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec
for binary in $out/lib/deepin-daemon/*; do
wrapProgram $binary "''${gappsWrapperArgs[@]}"
done
''; '';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,4 +1,4 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 # This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[ [
{ {
goPackagePath = "github.com/alecthomas/template"; goPackagePath = "github.com/alecthomas/template";
@ -41,8 +41,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/linuxdeepin/go-x11-client"; url = "https://github.com/linuxdeepin/go-x11-client";
rev = "03541136501cab4910ad8852fe749ef8e18907ca"; rev = "48c75d615ef634d9b1c24f8e8a30f56201b4f561";
sha256 = "1iiw8qclpklim81hz1sdjp2ajw0ljvjz19n9jly86nbw6m8x4gkp"; sha256 = "1x2i9wg6lyskls5qi3d2r84bdhyhgi8v1d8scxx9ysjaw9di9ldl";
}; };
} }
{ {
@ -50,8 +50,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/msteinert/pam"; url = "https://github.com/msteinert/pam";
rev = "f4cd9f5e29232537a12db1678f48c702ad6896b7"; rev = "f29b9f28d6f9a1f6c4e6fd5db731999eb946574b";
sha256 = "1vjawxswy3f23v4d72kk95y3b557580670ai9ffvrwy6wy85qync"; sha256 = "1v5z51mgyz2glm7v0mg60xs1as88wx6cqhys2khc5d3khkr8q0qp";
}; };
} }
{ {
@ -68,8 +68,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/image"; url = "https://go.googlesource.com/image";
rev = "69cc3646b96e61de0b417f4815b86c36e65783ee"; rev = "3fc05d484e9f77dd51816890e05f2602e4ca4d65";
sha256 = "0nkywb3r0qvwkmykpswnf0svxi463ycn293y5jjididzxv9qxdp9"; sha256 = "0mcip8jpz2061j1z658rfskphc92wv6sapy81p95bnjdymi562k3";
}; };
} }
{ {
@ -77,8 +77,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/net"; url = "https://go.googlesource.com/net";
rev = "c44066c5c816ec500d459a2a324a753f78531ae0"; rev = "74de082e2cca95839e88aa0aeee5aadf6ce7710f";
sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f"; sha256 = "0a4y3y0q5bkif7wvdkyjkvgnzlbh2n4zk7wsy5j95raf0i3zlw4s";
}; };
} }
{ {
@ -86,8 +86,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/text"; url = "https://go.googlesource.com/text";
rev = "6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2"; rev = "e3703dcdd614d2d7488fff034c75c551ea25da95";
sha256 = "00mwzxly5isgf0glz7k3k2dkyqkjfc4z55qxajx4lgcp3h8xn9xj"; sha256 = "1xh106aslp04vbzb4hc7cc5fyg2ljwny8fwfwsp5mpbqr9ixkikv";
}; };
} }
{ {
@ -104,8 +104,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/linuxdeepin/go-lib.git"; url = "https://github.com/linuxdeepin/go-lib.git";
rev = "b199d0dc96e979398ea3985334ccf9c20236d1a7"; rev = "3558b2348565e983c7d4a57a0a21bbe716a55b83";
sha256 = "0g84v1adnnyqc1mv45n3wlvnivkm1fi8ywszzgwx8irl3iddfvxv"; sha256 = "0p9yrxa3x71n3jxffh03ahjgimdzvxzhny632k363lkha6glvbnc";
}; };
} }
] ]

View File

@ -0,0 +1,51 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, polkit-qt,
dtkcore, dtkwidget, dde-qt-dbus-factory, deepin }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "dde-polkit-agent";
version = "0.2.4";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "1x7mv63g8412w1bq7fijsdzi8832qjb6gnr1nykcv7imzlycq9m6";
};
nativeBuildInputs = [
pkgconfig
qmake
qttools
deepin.setupHook
];
buildInputs = [
dde-qt-dbus-factory
dtkcore
dtkwidget
polkit-qt
];
postPatch = ''
searchHardCodedPaths
patchShebangs translate_generation.sh
fixPath $out /usr dde-polkit-agent.pro polkit-dde-authentication-agent-1.desktop
fixPath /run/current-system/sw /usr/lib/polkit-1-dde/plugins pluginmanager.cpp
'';
postFixup = ''
searchHardCodedPaths $out
'';
passthru.updateScript = deepin.updateScript { inherit name; };
meta = with stdenv.lib; {
description = "PolicyKit agent for Deepin Desktop Environment";
homepage = https://github.com/linuxdeepin/dde-polkit-agent;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
};
}

View File

@ -1,25 +1,28 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, python, deepin }: { stdenv, fetchFromGitHub, pkgconfig, qmake, python3, deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dde-qt-dbus-factory"; pname = "dde-qt-dbus-factory";
version = "1.0.5"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0cz55hsbhy1ab1mndv0sp6xnqrhz2y66w7pcxy8v9k87ii32czf8"; sha256 = "1b2i5m6fzkga72hbl85v2rng3qq53di39p7jj2f119wmlfbyp2vg";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
qmake qmake
python python3
deepin.setupHook
]; ];
postPatch = '' postPatch = ''
sed -i libdframeworkdbus/{DFrameworkdbusConfig.in,libdframeworkdbus.pro} \ searchHardCodedPaths
-e "s,/usr,$out," fixPath $out /usr \
libdframeworkdbus/DFrameworkdbusConfig.in \
libdframeworkdbus/libdframeworkdbus.pro
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,18 +1,18 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools, { stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools,
qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt, qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt,
dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget, dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget,
hicolor-icon-theme, deepin }: deepin-desktop-schemas, deepin, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dde-session-ui"; pname = "dde-session-ui";
version = "4.6.2"; version = "4.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1fxlrj7vv7nqllwpwc8mxiv9bfqcj9b2qwkpjaq326pfmg5p5lhq"; sha256 = "1bh7wbkzikcnka94nzqzl87cs2m6bslrv9r2hdsvqqr3aaad5za3";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
qmake qmake
qttools qttools
deepin-gettext-tools deepin-gettext-tools
wrapGAppsHook
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -35,10 +37,13 @@ stdenv.mkDerivation rec {
xorg.libXtst xorg.libXtst
xkeyboard_config xkeyboard_config
hicolor-icon-theme hicolor-icon-theme
deepin-desktop-schemas
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths
patchShebangs translate_generation.sh
patchShebangs translate_desktop.sh
sed -i translate_desktop.sh -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert," sed -i translate_desktop.sh -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} + find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} +
find -type f -exec sed -i -e "s,path = /usr,path = $out," {} + find -type f -exec sed -i -e "s,path = /usr,path = $out," {} +

View File

@ -3,34 +3,40 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-desktop-base"; pname = "deepin-desktop-base";
version = "2018.10.29"; version = "2019.03.29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0l2zb7rpag2q36lqsgvirhjgmj7w243nsi1rywkypf2xm7g2v235"; sha256 = "1d016h95nsn5yay9f4c13hixfxj0q01hpxwj2x84i6qpx63dxdwq";
}; };
nativeBuildInputs = [ deepin.setupHook ];
buildInputs = [ deepin-wallpapers ]; buildInputs = [ deepin-wallpapers ];
# TODO: Fedora recommended dependencies:
# deepin-wallpapers
# plymouth-theme-deepin
postPatch = '' postPatch = ''
sed -i Makefile -e "s:/usr:$out:" -e "s:/etc:$out/etc:" searchHardCodedPaths
fixPath $out /etc Makefile
fixPath $out /usr Makefile
# Remove Deepin distro's lsb-release
# Don't override systemd timeouts
# Remove apt-specific templates
echo ----------------------------------------------------------------
echo grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile
grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile
echo ----------------------------------------------------------------
sed -i -E '/lsb-release|systemd|python-apt|backgrounds/d' Makefile
''; '';
postInstall = '' postInstall = ''
# Remove Deepin distro's lsb-release
rm $out/etc/lsb-release
# Don't override systemd timeouts
rm -r $out/etc/systemd
# Remove apt-specific templates
rm -r $out/share/python-apt
# Remove empty backgrounds directory
rm -r $out/share/backgrounds
# Make a symlink for deepin-version # Make a symlink for deepin-version
ln -s ../lib/deepin/desktop-version $out/etc/deepin-version ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
''; '';
@ -39,6 +45,14 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Base assets and definitions for Deepin Desktop Environment"; description = "Base assets and definitions for Deepin Desktop Environment";
# TODO: revise
longDescription = ''
This package provides some components for Deepin desktop environment.
- deepin logo
- deepin desktop version
- login screen background image
- language information
'';
homepage = https://github.com/linuxdeepin/deepin-desktop-base; homepage = https://github.com/linuxdeepin/deepin-desktop-base;
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -1,21 +1,22 @@
{ stdenv, fetchFromGitHub, python, deepin-gtk-theme, { stdenv, fetchFromGitHub, python3, gnome3, glib, deepin-gtk-theme,
deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, gnome3, deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, deepin }:
deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-desktop-schemas"; pname = "deepin-desktop-schemas";
version = "3.4.0"; version = "3.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "10x0rh9z925yzyp8h0vgmg4313smvran06lvr12c3931qkmkzwgq"; sha256 = "0bamjcpmsl8xhw3ksgl11wv5xwcdhrkl1namikfzc4an03sk1rdq";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
python python3
glib.dev
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -27,12 +28,34 @@ stdenv.mkDerivation rec {
]; ];
postPatch = '' postPatch = ''
searchHardCodedPaths
# fix default background url # fix default background url
sed -i '/picture-uri/s|/usr/share/backgrounds/default_background.jpg|$out/share/backgrounds/deepin/default.png|' \ sed -i -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,' \
overrides/common/com.deepin.wrap.gnome.desktop.override overrides/common/com.deepin.wrap.gnome.desktop.override
fixPath ${deepin-wallpapers} /usr/share/backgrounds \
overrides/common/com.deepin.wrap.gnome.desktop.override
fixPath ${deepin-wallpapers} /usr/share/wallpapers/deepin \
schemas/com.deepin.dde.appearance.gschema.xml
# still hardcoded paths:
# /etc/gnome-settings-daemon/xrandr/monitors.xml ? gnome3.gnome-settings-daemon
# /usr/share/backgrounds/gnome/adwaita-lock.jpg ? gnome3.gnome-backgrounds
# /usr/share/backgrounds/gnome/adwaita-timed.xml gnome3.gnome-backgrounds
# /usr/share/desktop-directories
''; '';
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=${placeholder ''out''}" ];
doCheck = true;
checkTarget = "test";
postInstall = ''
glib-compile-schemas --strict $out/share/glib-2.0/schemas
searchHardCodedPaths $out
'';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
python3Packages.python python3Packages.python
]; ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=${placeholder ''out''}" ];
postPatch = '' postPatch = ''
sed -e 's/sudo cp/cp/' -i src/generate_mo.py sed -e 's/sudo cp/cp/' -i src/generate_mo.py

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
propagatedUserEnvPkgs = [ gtk-engine-murrine ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=${placeholder ''out''}" ];
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,29 +1,39 @@
{ stdenv, fetchFromGitHub, gtk3, papirus-icon-theme, deepin }: { stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-icon-theme"; pname = "deepin-icon-theme";
version = "15.12.64"; version = "15.12.68";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0z1yrp6yg2hb67azrbd9ac743jjh83vxdf2j0mmv2lfpd4fqw8qc"; sha256 = "12jgz81s5qggmnkfg9m5f799r10p43qmh4zqxl1kjvlrqgvsc9rf";
}; };
nativeBuildInputs = [ gtk3 papirus-icon-theme ]; nativeBuildInputs = [ gtk3 xcursorgen ];
buildInputs = [ papirus-icon-theme ];
postPatch = '' postPatch = ''
patchShebangs . patchShebangs tools/hicolor.links
patchShebangs tools/display_unused_links.sh
# install in $out patchShebangs cursors-src/cursors/bitmaps/make.sh
sed -i -e "s|/usr|$out|g" Makefile tools/hicolor.links patchShebangs cursors-src/render-cursors.sh
# keep icon-theme.cache # keep icon-theme.cache
sed -i -e 's|\(-rm -f .*/icon-theme.cache\)|# \1|g' Makefile sed -i -e 's|\(-rm -f .*/icon-theme.cache\)|# \1|g' Makefile
''; '';
buildTargets = "all hicolor-links";
installTargets = "install-icons install-cursors";
installFlags = [ "PREFIX=${placeholder ''out''}" ];
postInstall = ''
cp -a ./Sea ./usr/share/icons/hicolor "$out"/share/icons/
'';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -6,19 +6,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-image-viewer"; pname = "deepin-image-viewer";
version = "1.3.1"; version = "1.3.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0dxdvm6hzj6izfxka35za8y7vacd06nksfgzx6xsv7ywzagri4k5"; sha256 = "0paanw9sd67ic9yrbzqhrwi4bf4lpvsk16jynx99n76j3jgyijkk";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
qmake qmake
qttools qttools
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -33,12 +34,12 @@ stdenv.mkDerivation rec {
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths
patchShebangs viewer/generate_translations.sh
fixPath $out /usr viewer/com.deepin.ImageViewer.service
sed -i qimage-plugins/freeimage/freeimage.pro \ sed -i qimage-plugins/freeimage/freeimage.pro \
qimage-plugins/libraw/libraw.pro \ qimage-plugins/libraw/libraw.pro \
-e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix," -e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
sed -i viewer/com.deepin.ImageViewer.service \
-e "s,/usr,$out,"
''; '';
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
qmake qmake
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -25,7 +26,11 @@ stdenv.mkDerivation rec {
]; ];
postPatch = '' postPatch = ''
sed -i deepin-menu.pro -e "s,/usr,$out," searchHardCodedPaths
fixPath $out /usr \
data/com.deepin.menu.service \
deepin-menu.desktop \
deepin-menu.pro
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,25 +1,26 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, gtk3, libgtop, bamf, { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, glib,
json-glib, libcanberra-gtk3, libxkbcommon, libstartup_notification, gtk3, libgtop, bamf, json-glib, libcanberra-gtk3, libxkbcommon,
deepin-wallpapers, deepin-desktop-schemas, deepin }: libstartup_notification, deepin-wallpapers, deepin-desktop-schemas,
deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-metacity"; pname = "deepin-metacity";
version = "3.22.22"; version = "3.22.24";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0gr10dv8vphla6z7zqiyyg3n3ag4rrlz43c4kr7fd5xwx2bfvp3d"; sha256 = "1im0wz1zlxiag4kpp5d4hv0aa0ybr4bizarr3903hrqv0lp46hyx";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
intltool intltool
libtool libtool
glib.dev
gnome3.gnome-common gnome3.gnome-common
gnome3.glib.dev
]; ];
buildInputs = [ buildInputs = [
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
-e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;' -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;'
''; '';
NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
configureFlags = [ "--disable-themes-documentation" ]; configureFlags = [ "--disable-themes-documentation" ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-movie-reborn"; pname = "deepin-movie-reborn";
version = "3.2.14"; version = "3.2.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1i9sdg2p6qp57rqzrnjbxnqj3mg1qggzyq3yykw271vs8h85a707"; sha256 = "09a4sirbdxnrwj9ww2v7b1s9ylsincqzpqm2zisny9zxy22fm8s9";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,17 +1,19 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, gtk3, xorg, { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, gtk3,
libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon, xorg, libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon,
libstartup_notification, libinput, cogl, clutter, systemd, deepin }: libstartup_notification, libinput, libgudev, cogl, clutter, systemd,
gsettings-desktop-schemas, deepin-desktop-schemas, wrapGAppsHook,
deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-mutter"; pname = "deepin-mutter";
version = "3.20.35"; version = "3.20.38";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0mwk06kgw8qp8rg1j6px1zlya4x5rr9llax0qks59j56b3m9yim7"; sha256 = "1aq7606sgn2c6n8wfgxdryw3lprc4va0zjc0r65798w5656fdi31";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -19,27 +21,32 @@ stdenv.mkDerivation rec {
intltool intltool
libtool libtool
gnome3.gnome-common gnome3.gnome-common
wrapGAppsHook
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
gtk3
gnome3.gnome-desktop
gnome3.gsettings-desktop-schemas
gnome3.libgudev
gnome3.zenity
upower
xorg.libxkbfile
libxkbcommon
libcanberra-gtk3
libstartup_notification
libinput
xkeyboard_config
cogl
clutter clutter
cogl
deepin-desktop-schemas
gnome3.gnome-desktop
gnome3.zenity
gsettings-desktop-schemas
gtk3
libcanberra-gtk3
libgudev
libinput
libstartup_notification
libxkbcommon
systemd systemd
upower
xkeyboard_config
xorg.libxkbfile
]; ];
enableParallelBuilding = true; postPatch = ''
searchHardCodedPaths
'';
configureFlags = [ configureFlags = [
"--enable-native-backend" "--enable-native-backend"
@ -50,6 +57,8 @@ stdenv.mkDerivation rec {
NOCONFIGURE=1 ./autogen.sh NOCONFIGURE=1 ./autogen.sh
''; '';
enableParallelBuilding = true;
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "1sw4nrn7q7wk1hpicm05apyc0mihaw42iqm52wb8ib8gm1qiylr9"; sha256 = "1sw4nrn7q7wk1hpicm05apyc0mihaw42iqm52wb8ib8gm1qiylr9";
}; };
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=${placeholder ''out''}" ];
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, cmake, ninja, vala, { stdenv, fetchurl, fetchFromGitHub, pkgconfig, cmake, ninja, vala,
gettext, gobject-introspection, at-spi2-core, dbus, epoxy, expect, gettext, at-spi2-core, dbus, epoxy, expect, gtk3, json-glib,
gtk3, json-glib, libXdmcp, libgee, libpthreadstubs, librsvg, libXdmcp, libgee, libpthreadstubs, librsvg, libsecret, libtasn1,
libsecret, libtasn1, libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libselinux,
deepin-menu, deepin-shortcut-viewer, deepin }: libsepol, utillinux, deepin-menu, deepin-shortcut-viewer, deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-terminal"; pname = "deepin-terminal";
version = "3.0.10.2"; version = "3.2.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = "deepin-terminal"; repo = "deepin-terminal";
rev = version; rev = version;
sha256 = "0ylhp8q9kfdq9l69drawjaf0q8vcqyflb2a3zfnwbnf06dlpvkz6"; sha256 = "0dj386csbiw0yqz9nj6ij0s4d0ak9lpq2bmsfs17bjkgdp0ayp90";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
ninja ninja
vala vala
gettext gettext
gobject-introspection # For setup hook libselinux libsepol utillinux # required by gio
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
@ -49,15 +50,19 @@ stdenv.mkDerivation rec {
]; ];
postPatch = '' postPatch = ''
patchShebangs . searchHardCodedPaths
''; '';
enableParallelBuilding = true; cmakeFlags = [
"-DTEST_BUILD=OFF"
"-DUSE_VENDOR_LIB=OFF"
"-DVERSION=${version}"
];
passthru.updateScript = deepin.updateScript { inherit name; }; passthru.updateScript = deepin.updateScript { inherit name; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The default terminal emulation for Deepin"; description = "Default terminal emulator for Deepin";
longDescription = '' longDescription = ''
Deepin terminal, it sharpens your focus in the world of command line! Deepin terminal, it sharpens your focus in the world of command line!
It is an advanced terminal emulator with workspace, multiple It is an advanced terminal emulator with workspace, multiple

View File

@ -3,19 +3,21 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-wallpapers"; pname = "deepin-wallpapers";
version = "1.7.5"; version = "1.7.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = "deepin-wallpapers"; repo = "deepin-wallpapers";
rev = version; rev = version;
sha256 = "0mfjkh81ci0gjwmgycrh32by7v9b73nyvyjbqd29ccpb8bpyyakn"; sha256 = "09cfnxbpms98ibqbi4xd51181q3az5n8rmndcdr9w12kyzniz7xv";
}; };
nativeBuildInputs = [ dde-api.bin ]; nativeBuildInputs = [ dde-api deepin.setupHook ];
postPatch = '' postPatch = ''
sed -i -e "s:/usr/lib/deepin-api:${dde-api.bin}/lib/deepin-api:" Makefile searchHardCodedPaths # debugging
sed -i -e "s:/usr/lib/deepin-api:${dde-api}/lib/deepin-api:" Makefile
sed -i -e "s:/usr/share/wallpapers:$out/share/wallpapers:" Makefile sed -i -e "s:/usr/share/wallpapers:$out/share/wallpapers:" Makefile
''; '';

View File

@ -1,49 +1,55 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3, { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
bamf, clutter-gtk, pantheon, libcanberra-gtk3, libwnck3, bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3, libwnck3,
deepin-mutter, deepin-wallpapers, deepin-desktop-schemas, deepin-menu, deepin-mutter, deepin-wallpapers,
hicolor-icon-theme, deepin }: deepin-desktop-schemas, wrapGAppsHook, deepin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "deepin-wm"; pname = "deepin-wm";
version = "1.9.34"; version = "1.9.37";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "13hydcalifdc6723k8l4pk905y9sxic5x1fqww0fyx7j6b3hm13f"; sha256 = "1xd2x0kyav2cxnk0bybl7lrmak1r2468slxz5a6anrdriw9l10gi";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
intltool intltool
libtool libtool
gnome3.gnome-common
vala vala
gnome3.gnome-common
wrapGAppsHook
deepin.setupHook
]; ];
buildInputs = [ buildInputs = [
gnome3.gnome-desktop
gnome3.libgee
bamf bamf
clutter-gtk clutter-gtk
pantheon.granite deepin-desktop-schemas
libcanberra-gtk3 deepin-menu
libwnck3
deepin-mutter deepin-mutter
deepin-wallpapers deepin-wallpapers
deepin-desktop-schemas gnome3.gnome-desktop
hicolor-icon-theme libcanberra-gtk3
libgee
libwnck3
pantheon.granite
]; ];
postPatch = '' postPatch = ''
sed -i src/Background/BackgroundSource.vala \ searchHardCodedPaths
-e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;' fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
# fix background path
sed -i 's|default_background.jpg|deepin/desktop.jpg|' src/Background/BackgroundSource.vala
''; '';
NIX_CFLAGS_COMPILE = "-DWNCK_I_KNOW_THIS_IS_UNSTABLE";
preConfigure = '' preConfigure = ''
./autogen.sh NOCONFIGURE=1 ./autogen.sh
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,19 +1,16 @@
{ pkgs, makeScope, libsForQt5, go_1_11 }: { pkgs, makeScope, libsForQt5 }:
let let
packages = self: with self; { packages = self: with self; {
setupHook = ./setup-hook.sh;
updateScript = callPackage ./update.nix { }; updateScript = callPackage ./update.nix { };
dbus-factory = callPackage ./dbus-factory { }; dbus-factory = callPackage ./dbus-factory { };
dde-api = callPackage ./dde-api { dde-api = callPackage ./dde-api { };
# XXX: the build is finding references to Go when compiled with go v1.12
go = go_1_11;
};
dde-calendar = callPackage ./dde-calendar { }; dde-calendar = callPackage ./dde-calendar { };
dde-daemon = callPackage ./dde-daemon { dde-daemon = callPackage ./dde-daemon { };
# XXX: the build is finding references to Go when compiled with go v1.12 dde-polkit-agent = callPackage ./dde-polkit-agent { };
go = go_1_11;
};
dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { }; dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
dde-session-ui = callPackage ./dde-session-ui { }; dde-session-ui = callPackage ./dde-session-ui { };
deepin-desktop-base = callPackage ./deepin-desktop-base { }; deepin-desktop-base = callPackage ./deepin-desktop-base { };
@ -29,11 +26,11 @@ let
deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { }; deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
deepin-sound-theme = callPackage ./deepin-sound-theme { }; deepin-sound-theme = callPackage ./deepin-sound-theme { };
deepin-terminal = callPackage ./deepin-terminal { deepin-terminal = callPackage ./deepin-terminal {
inherit (pkgs.gnome3) libgee;
wnck = pkgs.libwnck3; wnck = pkgs.libwnck3;
}; };
deepin-wallpapers = callPackage ./deepin-wallpapers { }; deepin-wallpapers = callPackage ./deepin-wallpapers { };
deepin-wm = callPackage ./deepin-wm { }; deepin-wm = callPackage ./deepin-wm { };
dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
dtkcore = callPackage ./dtkcore { }; dtkcore = callPackage ./dtkcore { };
dtkwm = callPackage ./dtkwm { }; dtkwm = callPackage ./dtkwm { };
dtkwidget = callPackage ./dtkwidget { }; dtkwidget = callPackage ./dtkwidget { };

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3,
dde-polkit-agent, deepin }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "dpa-ext-gnomekeyring";
version = "0.1.0";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "168j42nwyw7vcgwc0fha2pjpwwlgir70fq1hns4ia1dkdqa1nhzw";
};
nativeBuildInputs = [
pkgconfig
qmake
qttools
deepin.setupHook
];
buildInputs = [
dde-polkit-agent
gnome3.libgnome-keyring
];
postPatch = ''
searchHardCodedPaths
patchShebangs translate_generation.sh
fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp
'';
passthru.updateScript = deepin.updateScript { inherit name; };
meta = with stdenv.lib; {
description = "GNOME keyring extension for dde-polkit-agent";
homepage = https://github.com/linuxdeepin/dpa-ext-gnomekeyring;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dtkcore"; pname = "dtkcore";
version = "2.0.9.8"; version = "2.0.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "06jj5gpy2qbmc21nf0fnbvgw7nbjjgvzx7m2vg9byw5il8l4g22h"; sha256 = "0dwpq6c38gaa95mgjnwj3vjz57n0cz6jfk950xi6s9ww2f4g6kq7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "dtkwidget"; pname = "dtkwidget";
version = "2.0.9.10"; version = "2.0.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0757dzy82bfv97b1gzkwa9zx3jzfbap20v3r1h7lkfcfw95410iw"; sha256 = "11a7yirfkcj3rq7va9av4m1pr22mq1yx1j9k18xrqv36n0rlbrr6";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,16 +3,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "go-dbus-factory"; pname = "go-dbus-factory";
version = "0.0.7.1"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0gj2xxv45gh7wr5ry3mcsi46kdsyq9nbd7znssn34kapiv40ixcx"; sha256 = "1i1ymi2qpcbf4d6rnfzrbq5n2vwnn8dvbq9xlw7jls3jpr3d5r00";
}; };
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=${placeholder ''out''}" ];
postPatch = '' postPatch = ''
sed -i -e 's:/share/gocode:/share/go:' Makefile sed -i -e 's:/share/gocode:/share/go:' Makefile

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
]; ];
makeFlags = [ makeFlags = [
"PREFIX=$(out)" "PREFIX=${placeholder ''out''}"
"GOCACHE=$(TMPDIR)/go-cache" "GOCACHE=$(TMPDIR)/go-cache"
]; ];

View File

@ -4,23 +4,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "go-gir-generator"; pname = "go-gir-generator";
version = "1.1.0"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxdeepin"; owner = "linuxdeepin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0grp4ffy3vmlknzmymnxq1spwshff2ylqsw82pj4y2v2fcvnqfvb"; sha256 = "0d93qzp3dlia5d1yxw0rwca76qk3jyamj9xzmk13vzig8zw0jx16";
}; };
patches = [
# fix: dde-api build error with gobject-introspection 1.58+
(fetchurl {
url = https://github.com/linuxdeepin/go-gir-generator/commit/a7ab229201e28d1be727f5021b3588fa4a1acf5f.patch;
sha256 = "13ywalwkjg8wwvd0pvmc2rv1h38airyvimdn9jfb5wis9xm48401";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
go go
@ -36,7 +28,7 @@ stdenv.mkDerivation rec {
''; '';
makeFlags = [ makeFlags = [
"PREFIX=$(out)" "PREFIX=${placeholder ''out''}"
"GOCACHE=$(TMPDIR)/go-cache" "GOCACHE=$(TMPDIR)/go-cache"
]; ];

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