Merge master into staging-next
This commit is contained in:
commit
a7e2cb90aa
|
@ -178,6 +178,7 @@
|
|||
/nixos/tests/prometheus-exporters.nix @WilliButz
|
||||
|
||||
# PHP
|
||||
/doc/languages-frameworks/php.section.md @etu
|
||||
/pkgs/development/interpreters/php @etu
|
||||
/pkgs/top-level/php-packages.nix @etu
|
||||
/pkgs/build-support/build-pecl.nix @etu
|
||||
|
|
|
@ -186,7 +186,7 @@ with import <nixpkgs> {};
|
|||
androidenv.emulateApp {
|
||||
name = "emulate-MyAndroidApp";
|
||||
platformVersion = "28";
|
||||
abiVersion = "x86_64"; # armeabi-v7a, mips, x86
|
||||
abiVersion = "x86"; # armeabi-v7a, mips, x86_64
|
||||
systemImageType = "google_apis_playstore";
|
||||
}
|
||||
```
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
# PHP
|
||||
|
||||
## User Guide
|
||||
|
||||
### Using PHP
|
||||
|
||||
#### Overview
|
||||
|
||||
Several versions of PHP are available on Nix, each of which having a
|
||||
wide variety of extensions and libraries available.
|
||||
|
||||
The attribute `php` refers to the version of PHP considered most
|
||||
stable and thoroughly tested in nixpkgs for any given release of
|
||||
NixOS. Note that while this version of PHP may not be the latest major
|
||||
release from upstream, any version of PHP supported in nixpkgs may be
|
||||
utilized by specifying the desired attribute by version, such as
|
||||
`php74`.
|
||||
|
||||
Only versions of PHP that are supported by upstream for the entirety
|
||||
of a given NixOS release will be included in that release of
|
||||
NixOS. See [PHP Supported
|
||||
Versions](https://www.php.net/supported-versions.php).
|
||||
|
||||
Interactive tools built on PHP are put in `php.packages`; composer is
|
||||
for example available at `php.packages.composer`.
|
||||
|
||||
Most extensions that come with PHP, as well as some popular
|
||||
third-party ones, are available in `php.extensions`; for example, the
|
||||
opcache extension shipped with PHP is available at
|
||||
`php.extensions.opcache` and the third-party ImageMagick extension at
|
||||
`php.extensions.imagick`.
|
||||
|
||||
The different versions of PHP that nixpkgs provides is located under
|
||||
attributes named based on major and minor version number; e.g.,
|
||||
`php74` is PHP 7.4 with commonly used extensions installed,
|
||||
`php74base` is the same PHP runtime without extensions.
|
||||
|
||||
#### Installing PHP with packages
|
||||
|
||||
A PHP package with specific extensions enabled can be built using
|
||||
`php.withExtensions`. This is a function which accepts an anonymous
|
||||
function as its only argument; the function should take one argument,
|
||||
the set of all extensions, and return a list of wanted extensions. For
|
||||
example, a PHP package with the opcache and ImageMagick extensions
|
||||
enabled:
|
||||
|
||||
```nix
|
||||
php.withExtensions (e: with e; [ imagick opcache ])
|
||||
```
|
||||
|
||||
Note that this will give you a package with _only_ opcache and
|
||||
ImageMagick, none of the other extensions which are enabled by default
|
||||
in the `php` package will be available.
|
||||
|
||||
To enable building on a previous PHP package, the currently enabled
|
||||
extensions are made available in its `enabledExtensions`
|
||||
attribute. For example, to generate a package with all default
|
||||
extensions enabled, except opcache, but with ImageMagick:
|
||||
|
||||
```nix
|
||||
php.withExtensions (e:
|
||||
(lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
|
||||
++ [ e.imagick ])
|
||||
```
|
||||
|
||||
If you want a PHP build with extra configuration in the `php.ini`
|
||||
file, you can use `php.buildEnv`. This function takes two named and
|
||||
optional parameters: `extensions` and `extraConfig`. `extensions`
|
||||
takes an extension specification equivalent to that of
|
||||
`php.withExtensions`, `extraConfig` a string of additional `php.ini`
|
||||
configuration parameters. For example, a PHP package with the opcache
|
||||
and ImageMagick extensions enabled, and `memory_limit` set to `256M`:
|
||||
|
||||
```nix
|
||||
php.buildEnv {
|
||||
extensions = e: with e; [ imagick opcache ];
|
||||
extraConfig = "memory_limit=256M";
|
||||
}
|
||||
```
|
||||
|
||||
##### Example setup for `phpfpm`
|
||||
|
||||
You can use the previous examples in a `phpfpm` pool called `foo` as
|
||||
follows:
|
||||
|
||||
```nix
|
||||
let
|
||||
myPhp = php.withExtensions (e: with e; [ imagick opcache ]);
|
||||
in {
|
||||
services.phpfpm.pools."foo".phpPackage = myPhp;
|
||||
};
|
||||
```
|
||||
|
||||
```nix
|
||||
let
|
||||
myPhp = php.buildEnv {
|
||||
extensions = e: with e; [ imagick opcache ];
|
||||
extraConfig = "memory_limit=256M";
|
||||
};
|
||||
in {
|
||||
services.phpfpm.pools."foo".phpPackage = myPhp;
|
||||
};
|
||||
```
|
||||
|
||||
##### Example usage with `nix-shell`
|
||||
|
||||
This brings up a temporary environment that contains a PHP interpreter
|
||||
with the extensions `imagick` and `opcache` enabled.
|
||||
|
||||
```sh
|
||||
nix-shell -p 'php.buildEnv { extensions = e: with e; [ imagick opcache ]; }'
|
||||
```
|
|
@ -2404,6 +2404,12 @@
|
|||
fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F";
|
||||
}];
|
||||
};
|
||||
euank = {
|
||||
email = "euank-nixpkg@euank.com";
|
||||
github = "euank";
|
||||
githubId = 2147649;
|
||||
name = "Euan Kemp";
|
||||
};
|
||||
evanjs = {
|
||||
email = "evanjsx@gmail.com";
|
||||
github = "evanjs";
|
||||
|
|
|
@ -827,8 +827,8 @@ auth required pam_succeed_if.so uid >= 1000 quiet
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Predicatbly named network-interfaces get renamed in stage-1. This means that it's possible
|
||||
to use the proper interface name for e.g. dropbear-setups.
|
||||
Predictably named network interfaces get renamed in stage-1. This means that it is possible
|
||||
to use the proper interface name for e.g. Dropbear setups.
|
||||
</para>
|
||||
<para>
|
||||
For further reference, please read <link xlink:href="https://github.com/NixOS/nixpkgs/pull/68953">#68953</link> or the corresponding <link xlink:href="https://discourse.nixos.org/t/predictable-network-interface-names-in-initrd/4055">discourse thread</link>.
|
||||
|
|
|
@ -128,6 +128,73 @@
|
|||
documentation for instructions.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Since this release there's an easy way to customize your PHP install to get a much smaller
|
||||
base PHP with only wanted extensions enabled. See the following snippet installing a smaller PHP
|
||||
with the extensions <literal>imagick</literal>, <literal>opcache</literal> and
|
||||
<literal>pdo_mysql</literal> loaded:
|
||||
|
||||
<programlisting>
|
||||
environment.systemPackages = [
|
||||
(pkgs.php.buildEnv { extensions = pp: with pp; [
|
||||
imagick
|
||||
opcache
|
||||
pdo_mysql
|
||||
]; })
|
||||
];</programlisting>
|
||||
|
||||
The default <literal>php</literal> attribute hasn't lost any extensions -
|
||||
the <literal>opcache</literal> extension was added there.
|
||||
|
||||
All upstream PHP extensions are available under <package><![CDATA[php.extensions.<name?>]]></package>.
|
||||
</para>
|
||||
<para>
|
||||
The updated <literal>php</literal> attribute is now easily customizable to your liking
|
||||
by using extensions instead of writing config files or changing configure flags.
|
||||
|
||||
Therefore we have removed the following configure flags:
|
||||
|
||||
<itemizedlist>
|
||||
<title>PHP <literal>config</literal> flags that we don't read anymore:</title>
|
||||
<listitem><para><literal>config.php.argon2</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.bcmath</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.bz2</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.calendar</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.curl</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.exif</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.ftp</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.gd</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.gettext</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.gmp</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.imap</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.intl</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.ldap</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.libxml2</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.libzip</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.mbstring</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.mysqli</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.mysqlnd</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.openssl</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.pcntl</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.pdo_mysql</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.pdo_odbc</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.pdo_pgsql</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.phpdbg</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.postgresql</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.readline</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.soap</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.sockets</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.sodium</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.sqlite</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.tidy</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.xmlrpc</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.xsl</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.zip</literal></para></listitem>
|
||||
<listitem><para><literal>config.php.zlib</literal></para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -23,8 +23,6 @@ with lib;
|
|||
|
||||
security.allowUserNamespaces = mkDefault false;
|
||||
|
||||
nix.useSandbox = mkDefault false;
|
||||
|
||||
security.protectKernelImage = mkDefault true;
|
||||
|
||||
security.allowSimultaneousMultithreading = mkDefault false;
|
||||
|
|
|
@ -17,7 +17,7 @@ in {
|
|||
example = [ "eth0" ];
|
||||
description = ''
|
||||
Enable RDMA on the listed interfaces. The corresponding virtual
|
||||
RDMA interfaces will be named rxe_<interface>.
|
||||
RDMA interfaces will be named rxe_<interface>.
|
||||
UDP port 4791 must be open on the respective ethernet interfaces.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -6,27 +6,28 @@ let
|
|||
cfg = config.services.nextcloud;
|
||||
fpm = config.services.phpfpm.pools.nextcloud;
|
||||
|
||||
phpPackage = pkgs.php73;
|
||||
phpPackages = pkgs.php73Packages;
|
||||
phpPackage =
|
||||
let
|
||||
base = pkgs.php74;
|
||||
in
|
||||
base.buildEnv {
|
||||
extensions = e: with e;
|
||||
base.enabledExtensions ++ [
|
||||
apcu redis memcached imagick
|
||||
];
|
||||
extraConfig = phpOptionsStr;
|
||||
};
|
||||
|
||||
toKeyValue = generators.toKeyValue {
|
||||
mkKeyValue = generators.mkKeyValueDefault {} " = ";
|
||||
};
|
||||
|
||||
phpOptionsExtensions = ''
|
||||
${optionalString cfg.caching.apcu "extension=${phpPackages.apcu}/lib/php/extensions/apcu.so"}
|
||||
${optionalString cfg.caching.redis "extension=${phpPackages.redis}/lib/php/extensions/redis.so"}
|
||||
${optionalString cfg.caching.memcached "extension=${phpPackages.memcached}/lib/php/extensions/memcached.so"}
|
||||
extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
|
||||
zend_extension = opcache.so
|
||||
opcache.enable = 1
|
||||
'';
|
||||
phpOptions = {
|
||||
upload_max_filesize = cfg.maxUploadSize;
|
||||
post_max_size = cfg.maxUploadSize;
|
||||
memory_limit = cfg.maxUploadSize;
|
||||
} // cfg.phpOptions;
|
||||
phpOptionsStr = phpOptionsExtensions + (toKeyValue phpOptions);
|
||||
phpOptionsStr = toKeyValue phpOptions;
|
||||
|
||||
occ = pkgs.writeScriptBin "nextcloud-occ" ''
|
||||
#! ${pkgs.stdenv.shell}
|
||||
|
@ -38,7 +39,6 @@ let
|
|||
export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
|
||||
$sudo \
|
||||
${phpPackage}/bin/php \
|
||||
-c ${pkgs.writeText "php.ini" phpOptionsStr}\
|
||||
occ $*
|
||||
'';
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ in
|
|||
pkgs.gtk2 # To get GTK's themes.
|
||||
pkgs.tango-icon-theme
|
||||
|
||||
pkgs.gnome2.gnome_icon_theme
|
||||
pkgs.gnome-icon-theme
|
||||
pkgs.xorg.xcursorthemes
|
||||
];
|
||||
|
||||
|
|
|
@ -181,7 +181,6 @@ in
|
|||
hicolor-icon-theme
|
||||
lightlocker
|
||||
onboard
|
||||
plank
|
||||
qgnomeplatform
|
||||
shared-mime-info
|
||||
sound-theme-freedesktop
|
||||
|
@ -195,6 +194,7 @@ in
|
|||
|
||||
# Desktop
|
||||
elementary-default-settings
|
||||
elementary-dock
|
||||
elementary-session-settings
|
||||
elementary-shortcut-overlay
|
||||
gala
|
||||
|
@ -206,7 +206,6 @@ in
|
|||
})
|
||||
|
||||
# Services
|
||||
cerbere
|
||||
elementary-capnet-assist
|
||||
elementary-dpms-helper
|
||||
elementary-settings-daemon
|
||||
|
|
|
@ -89,22 +89,6 @@ switchboard-with-plugs.override {
|
|||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="sec-pantheon-faq-slow-shutdown">
|
||||
<term>
|
||||
Using Pantheon sometimes makes my shutdown take a long time.
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
We have not yet determined what processes fight with systemd during shutdown, there are many reports. In elementary OS the default system timeout is lowered to lessen the impact of the issue. If you'd like to do this in NixOS, set
|
||||
<programlisting>
|
||||
<xref linkend="opt-systemd.extraConfig"/> = ''
|
||||
DefaultTimeoutStopSec=10s
|
||||
DefaultTimeoutStartSec=10s
|
||||
'';
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="sec-pantheon-faq-gnome3-and-pantheon">
|
||||
<term>
|
||||
I cannot enable both GNOME 3 and Pantheon.
|
||||
|
|
|
@ -188,6 +188,9 @@ in
|
|||
"systemd-machined.service"
|
||||
# setSessionScript wants AccountsService
|
||||
"accounts-daemon.service"
|
||||
# Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
|
||||
# https://github.com/NixOS/nixpkgs/pull/25311#issuecomment-609417621
|
||||
"systemd-udev-settle.service"
|
||||
];
|
||||
|
||||
systemd.services.display-manager.after = [
|
||||
|
@ -197,6 +200,7 @@ in
|
|||
"getty@tty${gdm.initialVT}.service"
|
||||
"plymouth-quit.service"
|
||||
"plymouth-start.service"
|
||||
"systemd-udev-settle.service"
|
||||
];
|
||||
systemd.services.display-manager.conflicts = [
|
||||
"getty@tty${gdm.initialVT}.service"
|
||||
|
|
|
@ -112,7 +112,8 @@ in rec {
|
|||
"nixos.tests.nfs4.simple.x86_64-linux"
|
||||
"nixos.tests.openssh.x86_64-linux"
|
||||
"nixos.tests.pantheon.x86_64-linux"
|
||||
"nixos.tests.php-pcre.x86_64-linux"
|
||||
"nixos.tests.php.fpm.x86_64-linux"
|
||||
"nixos.tests.php.pcre.x86_64-linux"
|
||||
"nixos.tests.plasma5.x86_64-linux"
|
||||
"nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux"
|
||||
"nixos.tests.predictable-interface-names.predictable.x86_64-linux"
|
||||
|
|
|
@ -40,7 +40,7 @@ in rec {
|
|||
nat
|
||||
nfs3
|
||||
openssh
|
||||
php-pcre
|
||||
php
|
||||
predictable-interface-names
|
||||
proxy
|
||||
simple;
|
||||
|
@ -108,7 +108,8 @@ in rec {
|
|||
"nixos.tests.nat.standalone.x86_64-linux"
|
||||
"nixos.tests.nfs3.simple.x86_64-linux"
|
||||
"nixos.tests.openssh.x86_64-linux"
|
||||
"nixos.tests.php-pcre.x86_64-linux"
|
||||
"nixos.tests.php.fpm.x86_64-linux"
|
||||
"nixos.tests.php.pcre.x86_64-linux"
|
||||
"nixos.tests.predictable-interface-names.predictable.x86_64-linux"
|
||||
"nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux"
|
||||
"nixos.tests.predictable-interface-names.unpredictable.x86_64-linux"
|
||||
|
|
|
@ -241,7 +241,7 @@ in
|
|||
peerflix = handleTest ./peerflix.nix {};
|
||||
pgjwt = handleTest ./pgjwt.nix {};
|
||||
pgmanage = handleTest ./pgmanage.nix {};
|
||||
php-pcre = handleTest ./php-pcre.nix {};
|
||||
php = handleTest ./php {};
|
||||
plasma5 = handleTest ./plasma5.nix {};
|
||||
plotinus = handleTest ./plotinus.nix {};
|
||||
postgis = handleTest ./postgis.nix {};
|
||||
|
|
|
@ -183,15 +183,15 @@ let
|
|||
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
|
||||
|
||||
monA.succeed(
|
||||
"ceph osd pool create multi-node-test 100 100",
|
||||
"ceph osd pool create multi-node-test 128 128",
|
||||
"ceph osd pool ls | grep 'multi-node-test'",
|
||||
"ceph osd pool rename multi-node-test multi-node-other-test",
|
||||
"ceph osd pool ls | grep 'multi-node-other-test'",
|
||||
)
|
||||
monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'")
|
||||
monA.succeed("ceph osd pool set multi-node-other-test size 2")
|
||||
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '128 active+clean'")
|
||||
monA.fail(
|
||||
"ceph osd pool ls | grep 'multi-node-test'",
|
||||
"ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it",
|
||||
|
|
|
@ -143,12 +143,12 @@ let
|
|||
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
|
||||
|
||||
monA.succeed(
|
||||
"ceph osd pool create single-node-test 100 100",
|
||||
"ceph osd pool create single-node-test 128 128",
|
||||
"ceph osd pool ls | grep 'single-node-test'",
|
||||
"ceph osd pool rename single-node-test single-node-other-test",
|
||||
"ceph osd pool ls | grep 'single-node-other-test'",
|
||||
)
|
||||
monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'")
|
||||
monA.succeed(
|
||||
"ceph osd getcrushmap -o crush",
|
||||
"crushtool -d crush -o decrushed",
|
||||
|
@ -158,7 +158,7 @@ let
|
|||
"ceph osd pool set single-node-other-test size 2",
|
||||
)
|
||||
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
|
||||
monA.wait_until_succeeds("ceph -s | grep '128 active+clean'")
|
||||
monA.fail(
|
||||
"ceph osd pool ls | grep 'multi-node-test'",
|
||||
"ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it",
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../../.. { inherit system config; }
|
||||
}: {
|
||||
fpm = import ./fpm.nix { inherit system pkgs; };
|
||||
pcre = import ./pcre.nix { inherit system pkgs; };
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
import ../make-test-python.nix ({pkgs, ...}: {
|
||||
name = "php-fpm-nginx-test";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ];
|
||||
|
||||
machine = { config, lib, pkgs, ... }: {
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
|
||||
virtualHosts."phpfpm" = let
|
||||
testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
|
||||
in {
|
||||
root = "${testdir}/web";
|
||||
locations."~ \.php$".extraConfig = ''
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools.foobar.socket};
|
||||
fastcgi_index index.php;
|
||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
'';
|
||||
locations."/" = {
|
||||
tryFiles = "$uri $uri/ index.php";
|
||||
index = "index.php index.html index.htm";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.phpfpm.pools."foobar" = {
|
||||
user = "nginx";
|
||||
settings = {
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"listen.owner" = "nginx";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 5;
|
||||
"pm.max_requests" = 500;
|
||||
"pm.max_spare_servers" = 3;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.start_servers" = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = { ... }: ''
|
||||
machine.wait_for_unit("nginx.service")
|
||||
machine.wait_for_unit("phpfpm-foobar.service")
|
||||
|
||||
# Check so we get an evaluated PHP back
|
||||
assert "PHP Version ${pkgs.php.version}" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
|
||||
# Check so we have database and some other extensions loaded
|
||||
assert "json" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
assert "opcache" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
assert "pdo_mysql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
assert "pdo_pgsql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
assert "pdo_sqlite" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
|
||||
'';
|
||||
})
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
let testString = "can-use-subgroups"; in
|
||||
|
||||
import ./make-test-python.nix ({ ...}: {
|
||||
let
|
||||
testString = "can-use-subgroups";
|
||||
in import ../make-test-python.nix ({ ...}: {
|
||||
name = "php-httpd-pcre-jit-test";
|
||||
machine = { lib, pkgs, ... }: {
|
||||
time.timeZone = "UTC";
|
||||
|
@ -10,14 +9,12 @@ import ./make-test-python.nix ({ ...}: {
|
|||
adminAddr = "please@dont.contact";
|
||||
enablePHP = true;
|
||||
phpOptions = "pcre.jit = true";
|
||||
extraConfig =
|
||||
let
|
||||
extraConfig = let
|
||||
testRoot = pkgs.writeText "index.php"
|
||||
''
|
||||
<?php
|
||||
preg_match('/(${testString})/', '${testString}', $result);
|
||||
var_dump($result);
|
||||
?>
|
||||
'';
|
||||
in
|
||||
''
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://kakoune.org/;
|
||||
homepage = "http://kakoune.org/";
|
||||
description = "A vim inspired text editor";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ vrthra ];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre8 }:
|
||||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpsprune";
|
||||
version = "19.2";
|
||||
version = "20";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
|
||||
sha256 = "1q2kpkkh75b9l1x7fkmv88s8k84gzcdnrg5sgf8ih0zrp49lawg9";
|
||||
sha256 = "1i9p6h98azgradrrkcwx18zwz4c6zkxp4bfykpa2imi1z3ry5q2b";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jre8 ];
|
||||
buildInputs = [ jdk11 ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "gpsprune";
|
||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
buildCommand = ''
|
||||
mkdir -p $out/bin $out/share/java
|
||||
cp -v $src $out/share/java/gpsprune.jar
|
||||
makeWrapper ${jre8}/bin/java $out/bin/gpsprune \
|
||||
makeWrapper ${jdk11}/bin/java $out/bin/gpsprune \
|
||||
--add-flags "-jar $out/share/java/gpsprune.jar"
|
||||
mkdir -p $out/share/applications
|
||||
cp $desktopItem/share/applications"/"* $out/share/applications
|
||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Application for viewing, editing and converting GPS coordinate data";
|
||||
homepage = https://activityworkshop.net/software/gpsprune/;
|
||||
homepage = "https://activityworkshop.net/software/gpsprune/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.rycee ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, glibcLocales, python3 }:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
version = "0.15.1";
|
||||
version = "0.16.0";
|
||||
pname = "khard";
|
||||
|
||||
src = python3.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w";
|
||||
sha256 = "0a1zpkq0pplmn9flxczq2wafs6zc07r9xx9qi6dqmyv9mhy9d87f";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/scheibler/khard;
|
||||
homepage = "https://github.com/scheibler/khard";
|
||||
description = "Console carddav client";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, fetchurl, pythonPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.7";
|
||||
version = "0.7.8";
|
||||
pname = "mwic";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jwilk/mwic/releases/download/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0l4anwiiqclymx0awwn4hzaj8n26ycg8nz76wjphsyscn7z2awad";
|
||||
sha256 = "0nnhziz9v523hpciylnxfajmxabh2ig5iawzwrfpf7aww70v330x";
|
||||
};
|
||||
|
||||
makeFlags=["PREFIX=\${out}"];
|
||||
|
|
|
@ -82,11 +82,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.5.115";
|
||||
version = "1.5.123";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "04zyv5amqxax1z0da4bcgxwsq596zfs416nshg6ffg4ci9nfbiab";
|
||||
sha256 = "1yv6hfjqzcd60b0bjpfbj8d4s2yf10swanxhbmnslcqp6ajb2nqr";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, callPackage, fetchurl }:
|
||||
{ config, stdenv, lib, callPackage, fetchurl }:
|
||||
|
||||
let
|
||||
common = opts: callPackage (import ./common.nix opts) {};
|
||||
|
@ -23,6 +23,8 @@ rec {
|
|||
maintainers = with lib.maintainers; [ eelco andir ];
|
||||
platforms = lib.platforms.unix;
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
||||
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
||||
license = lib.licenses.mpl20;
|
||||
};
|
||||
updateScript = callPackage ./update.nix {
|
||||
|
|
|
@ -0,0 +1,235 @@
|
|||
{ stdenv, lib, makeWrapper, socat, iptables, iproute, bridge-utils
|
||||
, conntrack-tools, buildGoPackage, git, runc, libseccomp, pkgconfig
|
||||
, autoPatchelfHook, breakpointHook, ethtool, utillinux, ipset
|
||||
, fetchFromGitHub, fetchurl, fetchzip, fetchgit
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
# k3s is a kinda weird derivation. One of the main points of k3s is the
|
||||
# simplicity of it being one binary that can perform several tasks.
|
||||
# However, when you have a good package manager (like nix), that doesn't
|
||||
# actually make much of a difference; you don't really care if it's one binary
|
||||
# or 10 since with a good package manager, installing and running it is
|
||||
# identical.
|
||||
# Since upstream k3s packages itself as one large binary with several
|
||||
# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
|
||||
# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
|
||||
# some exceptions.
|
||||
# K3s also carries patches to some packages (such as containerd and cni
|
||||
# plugins), so we intentionally use the k3s versions of those binaries for k3s,
|
||||
# even if the upstream version of those binaries exist in nixpkgs already. In
|
||||
# the end, that means we have a thick k3s binary that behaves like the upstream
|
||||
# one for the most part.
|
||||
# However, k3s also bundles several pieces of unpatched software, from the
|
||||
# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
|
||||
# Those pieces of software we entirely ignore upstream's handling of, and just
|
||||
# make sure they're in the path if desired.
|
||||
let
|
||||
k3sVersion = "1.17.3+k3s1"; # k3s git tag
|
||||
traefikChartVersion = "1.81.0"; # taken from ./scripts/version.sh at the above k3s tag
|
||||
k3sRootVersion = "0.3.0"; # taken from .s/cripts/version.sh at the above k3s tag
|
||||
# bundled into the k3s binary
|
||||
traefikChart = fetchurl {
|
||||
url = "https://kubernetes-charts.storage.googleapis.com/traefik-${traefikChartVersion}.tgz";
|
||||
sha256 = "1aqpzgjlvqhil0g3angz94zd4xbl4iq0qmpjcy5aq1xv9qciwdi9";
|
||||
};
|
||||
# so, k3s is a complicated thing to package
|
||||
# This derivation attempts to avoid including any random binaries from the
|
||||
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
|
||||
# we don't care about doing, we can add those as build or runtime
|
||||
# dependencies using a real package manager).
|
||||
# In addition to those binaries, it's also configuration though (right now
|
||||
# mostly strongswan configuration), and k3s does use those files.
|
||||
# As such, we download it in order to grab 'etc' and bundle it into the final
|
||||
# k3s binary.
|
||||
k3sRoot = fetchzip {
|
||||
# Note: marked as apache 2.0 license
|
||||
url = "https://github.com/rancher/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
|
||||
sha256 = "12xafn5jivl8lqdcs25b28xrc4mf7yf1xif5np169nvvxgvmpdxp";
|
||||
stripRoot=false;
|
||||
};
|
||||
k3sPlugins = buildGoPackage rec {
|
||||
name = "k3s-cni-plugins";
|
||||
version = "0.7.6-k3s1"; # from ./scripts/version.sh 'VERSION_CNIPLUGINS'; update when k3s's repo is updated.
|
||||
|
||||
goPackagePath = "github.com/containernetworking/plugins";
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = "plugins";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ax72z1ziann352bp6khfds8vlf3bbkqckrkpx4l4jxgqks45izs";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "k3s-cni-plugins";
|
||||
license = licenses.asl20;
|
||||
homepage = https://k3s.io;
|
||||
maintainers = [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
# Grab this separately from a build because it's used by both stages of the
|
||||
# k3s build.
|
||||
k3sRepo = fetchgit {
|
||||
url = "https://github.com/rancher/k3s";
|
||||
rev = "v${k3sVersion}";
|
||||
leaveDotGit = true; # for version / build date below
|
||||
sha256 = "0qahyc0mf9glxj49va6d20mcncqg4svfic2iz8b1lqid5c4g68mm";
|
||||
};
|
||||
# Stage 1 of the k3s build:
|
||||
# Let's talk about how k3s is structured.
|
||||
# One of the ideas of k3s is that there's the single "k3s" binary which can
|
||||
# do everything you need, from running a k3s server, to being a worker node,
|
||||
# to running kubectl.
|
||||
# The way that actually works is that k3s is a single go binary that contains
|
||||
# a bunch of bindata that it unpacks at runtime into directories (either the
|
||||
# user's home directory or /var/lib/rancher if run as root).
|
||||
# This bindata includes both binaries and configuration.
|
||||
# In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
|
||||
# First, we build all the binaries that get packed into the thick k3s binary
|
||||
# (and output them from one derivation so they'll all be suitably patched up).
|
||||
# Then, we bundle those binaries into our thick k3s binary and use that as
|
||||
# the final single output.
|
||||
# This approach was chosen because it ensures the bundled binaries all are
|
||||
# correctly built to run with nix (we can lean on the existing buildGoPackage
|
||||
# stuff), and we can again lean on that tooling for the final k3s binary too.
|
||||
# Other alternatives would be to manually run the
|
||||
# strip/patchelf/remove-references step ourselves in the installPhase of the
|
||||
# derivation when we've built all the binaries, but haven't bundled them in
|
||||
# with generated bindata yet.
|
||||
k3sBuildStage1 = buildGoPackage rec {
|
||||
name = "k3s-build-1";
|
||||
version = "${k3sVersion}";
|
||||
|
||||
goPackagePath = "github.com/rancher/k3s";
|
||||
|
||||
src = k3sRepo;
|
||||
|
||||
patches = [ ./patches/00-k3s.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoPatchelfHook breakpointHook ];
|
||||
buildInputs = [ git runc libseccomp ];
|
||||
|
||||
buildPhase = ''
|
||||
pushd go/src/${goPackagePath}
|
||||
|
||||
patchShebangs ./scripts/build ./scripts/version.sh
|
||||
mkdir -p bin
|
||||
./scripts/build
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
pushd go/src/${goPackagePath}
|
||||
|
||||
mkdir -p "$bin/bin"
|
||||
install -m 0755 -t "$bin/bin" ./bin/*
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The various binaries that get packaged into the final k3s binary.";
|
||||
license = licenses.asl20;
|
||||
homepage = https://k3s.io;
|
||||
maintainers = [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
k3sBuild = buildGoPackage rec {
|
||||
name = "k3s-build";
|
||||
version = "${k3sVersion}";
|
||||
|
||||
goPackagePath = "github.com/rancher/k3s";
|
||||
|
||||
src = k3sRepo;
|
||||
|
||||
patches = [ ./patches/00-k3s.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoPatchelfHook breakpointHook ];
|
||||
buildInputs = [ git k3sBuildStage1 ];
|
||||
|
||||
# In order to build the thick k3s binary (which is what
|
||||
# ./scripts/package-cli does), we need to get all the binaries that script
|
||||
# expects in place.
|
||||
buildPhase = ''
|
||||
pushd go/src/${goPackagePath}
|
||||
|
||||
patchShebangs ./scripts/build ./scripts/version.sh ./scripts/package-cli
|
||||
|
||||
mkdir -p bin
|
||||
|
||||
install -m 0755 -t ./bin ${k3sBuildStage1}/bin/*
|
||||
install -m 0755 -T "${k3sPlugins}/bin/plugins" ./bin/cni
|
||||
# Note: use the already-nixpkgs-bundled k3s rather than the one bundled
|
||||
# in k3s because the k3s one is completely unmodified from upstream
|
||||
# (unlike containerd, cni, etc)
|
||||
install -m 0755 -T "${runc}/bin/runc" ./bin/runc
|
||||
cp -R "${k3sRoot}/etc" ./etc
|
||||
mkdir -p "build/static/charts"
|
||||
cp "${traefikChart}" "build/static/charts/traefik-${traefikChartVersion}.tgz"
|
||||
|
||||
./scripts/package-cli
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
pushd go/src/${goPackagePath}
|
||||
|
||||
mkdir -p "$bin/bin"
|
||||
install -m 0755 -t "$bin/bin" ./dist/artifacts/k3s
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The k3s go binary which is used by the final wrapped output below.";
|
||||
license = licenses.asl20;
|
||||
homepage = https://k3s.io;
|
||||
maintainers = [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "k3s";
|
||||
|
||||
# Important utilities used by the kubelet, see
|
||||
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Note the list in that issue is stale and some aren't relevant for k3s.
|
||||
k3sRuntimeDeps = [
|
||||
socat iptables iproute bridge-utils ethtool utillinux ipset conntrack-tools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
k3sBuild makeWrapper
|
||||
] ++ k3sRuntimeDeps;
|
||||
|
||||
unpackPhase = "true";
|
||||
|
||||
# And, one final derivation (you thought the last one was it, right?)
|
||||
# We got the binary we wanted above, but it doesn't have all the runtime
|
||||
# dependencies k8s wants, including mount utilities for kubelet, networking
|
||||
# tools for cni/kubelet stuff, etc
|
||||
# Use a wrapper script to reference all the binaries that k3s tries to
|
||||
# execute, but that we didn't bundle with it.
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
makeWrapper ${k3sBuild}/bin/k3s "$out/bin/k3s" \
|
||||
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
|
||||
--prefix PATH : "$out/bin"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A lightweight Kubernetes distribution.";
|
||||
license = licenses.asl20;
|
||||
homepage = https://k3s.io;
|
||||
maintainers = with maintainers; [ euank ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
diff --git a/main.go b/main.go
|
||||
index 62908bb7bb..0527222887 100644
|
||||
--- a/main.go
|
||||
+++ b/main.go
|
||||
@@ -1,5 +1,5 @@
|
||||
//go:generate go run pkg/codegen/cleanup/main.go
|
||||
-//go:generate /bin/rm -rf pkg/generated
|
||||
+//go:generate rm -rf pkg/generated
|
||||
//go:generate go run pkg/codegen/main.go
|
||||
//go:generate go fmt pkg/deploy/zz_generated_bindata.go
|
||||
//go:generate go fmt pkg/static/zz_generated_bindata.go
|
||||
diff --git a/scripts/build b/scripts/build
|
||||
index 72d3c07ece..3e5455b262 100755
|
||||
--- a/scripts/build
|
||||
+++ b/scripts/build
|
||||
@@ -10,7 +10,8 @@ PKG_CONTAINERD="github.com/containerd/containerd"
|
||||
PKG_RANCHER_CONTAINERD="github.com/rancher/containerd"
|
||||
PKG_CRICTL="github.com/kubernetes-sigs/cri-tools"
|
||||
|
||||
-buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
|
||||
+# Deterministic build date
|
||||
+buildDate="$(date -d "$(git log -1 --format=%ai)" -u "+%Y-%m-%dT%H:%M:%SZ")"
|
||||
|
||||
VENDOR_PREFIX="${PKG}/vendor/"
|
||||
VERSIONFLAGS="
|
||||
@@ -82,17 +83,7 @@ cleanup() {
|
||||
}
|
||||
|
||||
INSTALLBIN=$(pwd)/bin
|
||||
-if [ ! -x ${INSTALLBIN}/cni ]; then
|
||||
-(
|
||||
- echo Building cni
|
||||
- TMPDIR=$(mktemp -d)
|
||||
- trap cleanup EXIT
|
||||
- WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins
|
||||
- git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR
|
||||
- cd $WORKDIR
|
||||
- GOPATH=$TMPDIR CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o $INSTALLBIN/cni
|
||||
-)
|
||||
-fi
|
||||
+# skip building cni, use our separately built one
|
||||
# echo Building agent
|
||||
# CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go
|
||||
echo Building server
|
||||
@@ -108,9 +99,8 @@ ln -s containerd ./bin/ctr
|
||||
#CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go
|
||||
# echo Building containerd
|
||||
# CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/
|
||||
-echo Building runc
|
||||
-make EXTRA_LDFLAGS="-w -s" BUILDTAGS="apparmor seccomp" -C ./vendor/github.com/opencontainers/runc static
|
||||
-cp -f ./vendor/github.com/opencontainers/runc/runc ./bin/runc
|
||||
+
|
||||
+# skip building runc; use our packaged one
|
||||
|
||||
echo Building containerd-shim
|
||||
make -C ./vendor/github.com/containerd/containerd bin/containerd-shim
|
||||
diff --git a/scripts/package-cli b/scripts/package-cli
|
||||
index 4c66ce32df..6d1e0c03cb 100755
|
||||
--- a/scripts/package-cli
|
||||
+++ b/scripts/package-cli
|
||||
@@ -55,10 +55,10 @@ LDFLAGS="
|
||||
-X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8}
|
||||
-w -s
|
||||
"
|
||||
-STATIC="-extldflags '-static'"
|
||||
if [ "$DQLITE" = "true" ]; then
|
||||
DQLITE_TAGS="dqlite"
|
||||
fi
|
||||
-CGO_ENABLED=0 go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go
|
||||
+go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go
|
||||
|
||||
-./scripts/build-upload ${CMD_NAME} ${COMMIT}
|
||||
+# for nixos, don't upload it
|
||||
+# ./scripts/build-upload ${CMD_NAME} ${COMMIT}
|
|
@ -1,19 +1,34 @@
|
|||
{ stdenv, buildGoModule, fetchFromGitHub }:
|
||||
{ stdenv, buildGoModule, fetchFromGitHub, makeDesktopItem }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gomuks";
|
||||
version = "2020-02-19";
|
||||
version = "2020-03-20";
|
||||
|
||||
goPackagePath = "maunium.net/go/gomuks";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tulir";
|
||||
repo = pname;
|
||||
rev = "702592bf89dfcf1ec382c0a09d99318bce7a3943";
|
||||
sha256 = "0g638q8ypkp6dbfy1s4hz798cpkld301f914il3yd70yf05vvysc";
|
||||
rev = "bce30e32a049b3ee76081c8d3881a3820b0e7341";
|
||||
sha256 = "0f7i88vrvl1xl4hmjplq3wwihqwijbgxy6nk5fkvc8pfmm5hsjcs";
|
||||
};
|
||||
|
||||
modSha256 = "03vbrh50pvx71rp6c23qc2sh0ir4jm1wl0gvi3z1c14ndzhsqky4";
|
||||
modSha256 = "10w0bjhnf6bbqx5jbgfv2jxxyqswzx25p64kkjmvh5qamjzpbjz2";
|
||||
|
||||
postInstall = ''
|
||||
cp -r ${
|
||||
makeDesktopItem {
|
||||
name = "net.maunium.gomuks.desktop";
|
||||
exec = "@out@/bin/gomuks";
|
||||
terminal = "true";
|
||||
desktopName = "Gomuks";
|
||||
genericName = "Matrix client";
|
||||
categories = "Network;Chat";
|
||||
comment = meta.description;
|
||||
}
|
||||
}/* $out/
|
||||
substituteAllInPlace $out/share/applications/*
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://maunium.net/go/gomuks/";
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
|
||||
let
|
||||
pname = "zulip";
|
||||
version = "4.0.0";
|
||||
version = "5.0.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
|
||||
sha256 = "1pni02mb5bvwx3k45vd6ga269ghdl633gjklyslai24rrhp16h9z";
|
||||
sha256 = "0qwlhkzb3lbzk3piyfx8nn827kcafrl3j1nxrn18f8px9gwasinz";
|
||||
name="${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ buildGoPackage {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Migration tool for ipfs repositories";
|
||||
homepage = https://ipfs.io/;
|
||||
homepage = "https://ipfs.io/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
goPackagePath = "github.com/jbenet/goprocess";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = https://github.com/jbenet/goprocess;
|
||||
url = "https://github.com/jbenet/goprocess";
|
||||
rev = "b497e2f366b8624394fb2e89c10ab607bebdde0b";
|
||||
sha256 = "1lnvkzki7vnqn5c4m6bigk0k85haicmg27w903kwg30rdvblm82s";
|
||||
};
|
||||
|
@ -12,7 +12,7 @@
|
|||
goPackagePath = "github.com/jbenet/go-random";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = https://github.com/jbenet/go-random;
|
||||
url = "https://github.com/jbenet/go-random";
|
||||
rev = "384f606e91f542a98e779e652eed88051618f0f7";
|
||||
sha256 = "0gcshzl9n3apzc0jaxqrjsc038yfrzfyhpdqgbpcnajin83l2msa";
|
||||
};
|
||||
|
@ -21,7 +21,7 @@
|
|||
goPackagePath = "github.com/jbenet/go-random-files";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = https://github.com/jbenet/go-random-files;
|
||||
url = "https://github.com/jbenet/go-random-files";
|
||||
rev = "737479700b40b4b50e914e963ce8d9d44603e3c8";
|
||||
sha256 = "1klpdc4qkrfy31r7qh00fcz42blswzabmcnry9byd5adhszxj9bw";
|
||||
};
|
||||
|
@ -30,7 +30,7 @@
|
|||
goPackagePath = "github.com/hashicorp/golang-lru";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = https://github.com/hashicorp/golang-lru;
|
||||
url = "https://github.com/hashicorp/golang-lru";
|
||||
rev = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768";
|
||||
sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f";
|
||||
};
|
||||
|
|
|
@ -137,7 +137,7 @@ mkDerivation {
|
|||
updateScript = import ./update.nix { inherit writeScript runtimeShell; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.mendeley.com;
|
||||
homepage = "https://www.mendeley.com";
|
||||
description = "A reference manager and academic social network";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
|
|
|
@ -33,6 +33,7 @@ let
|
|||
"8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
|
||||
"8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
|
||||
"8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn";
|
||||
"8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0";
|
||||
}.${version};
|
||||
coq-version = stdenv.lib.versions.majorMinor version;
|
||||
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gmsh";
|
||||
version = "4.5.4";
|
||||
version = "4.5.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
|
||||
sha256 = "1k9f7qxlwja9i40qy55070sjnr21bl165677mdqw7qyb8d7wgy6c";
|
||||
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
|
||||
};
|
||||
|
||||
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ stdenv, php, autoreconfHook, fetchurl, re2c }:
|
||||
{ stdenv, lib, php, autoreconfHook, fetchurl, re2c }:
|
||||
|
||||
{ pname
|
||||
, version
|
||||
, internalDeps ? []
|
||||
, buildInputs ? []
|
||||
, nativeBuildInputs ? []
|
||||
, postPhpize ? ""
|
||||
, makeFlags ? []
|
||||
, src ? fetchurl {
|
||||
url = "http://pecl.php.net/get/${pname}-${version}.tgz";
|
||||
|
@ -22,5 +24,11 @@ stdenv.mkDerivation (args // {
|
|||
|
||||
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
|
||||
|
||||
autoreconfPhase = "phpize";
|
||||
autoreconfPhase = ''
|
||||
phpize
|
||||
${postPhpize}
|
||||
${lib.concatMapStringsSep "\n"
|
||||
(dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
|
||||
internalDeps}
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -15,7 +15,7 @@ in fetchzip {
|
|||
sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://be5invis.github.io/Iosevka/;
|
||||
homepage = "https://be5invis.github.io/Iosevka/";
|
||||
downloadPage = "https://github.com/be5invis/Iosevka/releases";
|
||||
description = ''
|
||||
Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-icon-theme";
|
||||
version = "3.12.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
intltool
|
||||
iconnamingutils
|
||||
gtk2
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
postInstall = ''
|
||||
# remove a tree of dirs with no files within
|
||||
rm -r "$out/share/locale"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Collection of icons for the GNOME 2 desktop";
|
||||
homepage = "https://download.gnome.org/sources/gnome-icon-theme/";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "matcha";
|
||||
version = "2020-03-29";
|
||||
version = "2020-04-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "17yyxlm94q8cv3zryishgs852nz74q79v3fh9c7a3f1fs6xlw8p0";
|
||||
sha256 = "0arnc12zsbypv550dv5j22z4hkc58yncxqhc03xcmxjw1h8lzrwv";
|
||||
};
|
||||
|
||||
buildInputs = [ gdk-pixbuf librsvg ];
|
||||
|
|
|
@ -60,8 +60,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
|
||||
gtksourceview = callPackage ./desktop/gtksourceview { };
|
||||
|
||||
gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { };
|
||||
|
||||
vte = callPackage ./desktop/vte { };
|
||||
|
||||
#### BINDINGS
|
||||
|
@ -87,6 +85,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
startup_notification = pkgs.libstartup_notification;
|
||||
startupnotification = pkgs.libstartup_notification;
|
||||
gnomedocutils = pkgs.gnome-doc-utils;
|
||||
gnomeicontheme = self.gnome_icon_theme;
|
||||
gnome-icon-theme = pkgs.gnome-icon-theme;
|
||||
gnome_icon_theme = self.gnome-icon-theme;
|
||||
gnomeicontheme = self.gnome-icon-theme;
|
||||
gnome_common = gnome-common;
|
||||
})
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnome-icon-theme-2.91.93";
|
||||
|
||||
src = fetchurl {
|
||||
#url = "mirror://gnome/sources/gnome-icon-theme/3.4/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2";
|
||||
sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk2 ];
|
||||
|
||||
# remove a tree of dirs with no files within
|
||||
postInstall = '' rm -r "$out/share/locale" '';
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, glib, gnome2, dbus-glib, gmime, libnotify, libgnome-keyring, openssl, cyrus_sasl, gnonlin, sylpheed, gob2, gettext, intltool, libxml2, hicolor-icon-theme, tango-icon-theme }:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, glib, gnome2, dbus-glib, gmime, gnome-icon-theme, libnotify, libgnome-keyring, openssl, cyrus_sasl, gnonlin, sylpheed, gob2, gettext, intltool, libxml2, hicolor-icon-theme, tango-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
rev = "9ae8768";
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome2.gnome_icon_theme hicolor-icon-theme tango-icon-theme ];
|
||||
buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome-icon-theme hicolor-icon-theme tango-icon-theme ];
|
||||
|
||||
prePatch = ''
|
||||
sed -i -e '/jb_rule_set_install_message/d' -e '/jb_rule_add_install_command/d' jbsrc/jb.c
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gtk3, intltool
|
||||
, GConf, enchant, isocodes, gnome_icon_theme, gsettings-desktop-schemas }:
|
||||
, GConf, enchant, isocodes, gnome-icon-theme, gsettings-desktop-schemas }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.10.0";
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1hq6asgb5n9q3ryx2vngr4jyi8lg65lzpnlgrgcwayiczcj68fya";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome_icon_theme GConf ];
|
||||
propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome-icon-theme GConf ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool enchant isocodes ];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gtk2, intltool,
|
||||
GConf, enchant, isocodes, gnome_icon_theme }:
|
||||
GConf, enchant, isocodes, gnome-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkhtml-3.32.2";
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
patches = [ ./01_remove-disable-deprecated.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ gtk2 intltool GConf enchant isocodes gnome_icon_theme ];
|
||||
buildInputs = [ gtk2 intltool GConf enchant isocodes gnome-icon-theme ];
|
||||
|
||||
NIX_LDFLAGS = "-lgthread-2.0";
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchurl, pkgconfig, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome_icon_theme}:
|
||||
{stdenv, fetchurl, pkgconfig, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome-icon-theme}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libgnomeprintui-2.18.6";
|
||||
|
@ -9,5 +9,5 @@ stdenv.mkDerivation {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome_icon_theme];
|
||||
buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome-icon-theme];
|
||||
}
|
||||
|
|
|
@ -28,13 +28,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appcenter";
|
||||
version = "3.2.2";
|
||||
version = "3.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0aqslkig7vs95z719mp3xrl1zp65ypp2lq9aikvsis6nssadn2cd";
|
||||
sha256 = "12gql86vn12zbkw368blxk0cl9fgs22dyj02xnimjc8b6s80yib4";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-calculator";
|
||||
version = "1.5.4";
|
||||
version = "1.5.5";
|
||||
|
||||
repoName = "calculator";
|
||||
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx";
|
||||
sha256 = "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-calendar";
|
||||
version = "5.0.3";
|
||||
version = "5.0.4";
|
||||
|
||||
repoName = "calendar";
|
||||
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m";
|
||||
sha256 = "0ywk9w6d6nw7ir3f11xc13fr08ifvzpavq1c3x48kmmf69ywprdk";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-camera";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
|
||||
repoName = "camera";
|
||||
|
||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "05amcljvc3w77a1b0c76y6rha8g0zm6lqflvg1g7jzz00jchx9d4";
|
||||
sha256 = "13jg224h2436swd6kdkfs22icg0ja9lshvxwg5bqnb5fshspkjba";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-code";
|
||||
version = "3.3.0";
|
||||
version = "3.4.0";
|
||||
|
||||
repoName = "code";
|
||||
|
||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "0v544zw99wjcy0bflaci9fssx4sibz4b05bxs3a7j8hrpl102r4w";
|
||||
sha256 = "0b1vdgb1xvh5lqbral3r0qaq05zd5q5ywxw02fggpyy8nyxs3z8f";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, vala
|
||||
, atk
|
||||
, cairo
|
||||
, dconf
|
||||
, glib
|
||||
, gtk3
|
||||
, libwnck3
|
||||
, libX11
|
||||
, libXfixes
|
||||
, libXi
|
||||
, pango
|
||||
, gettext
|
||||
, pkgconfig
|
||||
, libxml2
|
||||
, bamf
|
||||
, gdk-pixbuf
|
||||
, libdbusmenu-gtk3
|
||||
, gnome-menus
|
||||
, libgee
|
||||
, wrapGAppsHook
|
||||
, pantheon
|
||||
, meson
|
||||
, ninja
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-dock";
|
||||
version = "unstable-2020-02-28";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
repoName = "dock";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = "ac87d9063dc9c81d90f42f3002ad9c5b49460a82";
|
||||
sha256 = "0lhjzd370fza488dav8n155ss486wqv6y7ldkahwg0c3zvlsvha7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
libxml2 # xmllint
|
||||
pkgconfig
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
atk
|
||||
bamf
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gnome-menus
|
||||
dconf
|
||||
gtk3
|
||||
libX11
|
||||
libXfixes
|
||||
libXi
|
||||
libdbusmenu-gtk3
|
||||
libgee
|
||||
libwnck3
|
||||
pango
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Elegant, simple, clean dock";
|
||||
homepage = "https://github.com/elementary/dock";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers;
|
||||
};
|
||||
}
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-files";
|
||||
version = "4.4.1";
|
||||
version = "4.4.2";
|
||||
|
||||
repoName = "files";
|
||||
|
||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "0s874qnqbx20vyp2z2rhz3z8py0dm21v26xc0h6hyc2gfz4s3jcg";
|
||||
sha256 = "1n18b3m3vgvmmgpfbgnfnz0z98bkgbfrfkx25jqbwsdnwrlb4li6";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -16,12 +16,13 @@
|
|||
, libgee
|
||||
, elementary-icon-theme
|
||||
, appstream
|
||||
, pcre2
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-terminal";
|
||||
version = "5.5.1";
|
||||
version = "5.5.2";
|
||||
|
||||
repoName = "terminal";
|
||||
|
||||
|
@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj";
|
||||
sha256 = "119iwmzbpkj4nmxinqfsh73lx23g8gbl6ha6wc4mc4fq9hpnc9c2";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -38,14 +39,6 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix build with vte-2.91 https://github.com/elementary/terminal/pull/488
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/terminal/commit/48da5328cefdc481a3ac76fbdd771096f542d55a.patch";
|
||||
sha256 = "1y4043jxb0qzd3pp28kdij2yj1p9pg158il7q3aq1sf7c474gz4d";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
desktop-file-utils
|
||||
|
@ -64,6 +57,7 @@ stdenv.mkDerivation rec {
|
|||
gtk3
|
||||
libgee
|
||||
libnotify
|
||||
pcre2
|
||||
vte
|
||||
];
|
||||
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sideload";
|
||||
version = "1.0.1";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0camg34skiisfbf9s9awfkdkq72s9jhl4ipmax7dqr33n8a86hic";
|
||||
sha256 = "1nnaq4vc0aag6pckxhrma5qv8al7i00rrlg95ac4iqqmivja7i92";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-a11y";
|
||||
version = "2.1.3";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd";
|
||||
sha256 = "0g8lhdwv9g16kjn7yxnl6x4rscjl2206ljfnghpxc4b5lwhqxxnw";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -51,8 +51,6 @@ stdenv.mkDerivation rec {
|
|||
switchboard
|
||||
];
|
||||
|
||||
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Switchboard Universal Access Plug";
|
||||
homepage = https://github.com/elementary/switchboard-plug-a11y;
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-datetime";
|
||||
version = "2.1.6";
|
||||
version = "2.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "09734c3qc0296zf14rdhl4p6ppga015rz9hhsvlcc3nvyw7kdqkc";
|
||||
sha256 = "0lpmxl42r5vn6mddwppn6zwmai0yabs3n467w027vkzw4axdi6bf";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -46,15 +46,6 @@ stdenv.mkDerivation rec {
|
|||
switchboard
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./timezone.patch;
|
||||
tzdata = "${tzdata}/share/zoneinfo/zone.tab";
|
||||
})
|
||||
];
|
||||
|
||||
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Switchboard Date & Time Plug";
|
||||
homepage = https://github.com/elementary/switchboard-plug-datetime;
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/Parser.vala b/src/Parser.vala
|
||||
index faccb64..432a362 100644
|
||||
--- a/src/Parser.vala
|
||||
+++ b/src/Parser.vala
|
||||
@@ -28,7 +28,7 @@ public class DateTime.Parser : GLib.Object {
|
||||
return parser;
|
||||
}
|
||||
private Parser () {
|
||||
- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
|
||||
+ var file = File.new_for_path ("@tzdata@");
|
||||
if (!file.query_exists ()) {
|
||||
critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
|
||||
return;
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-keyboard";
|
||||
version = "2.3.5";
|
||||
version = "2.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "17iijb7imxw5zv7vkrbc1vsp87k900yqgyv7ycz1gw37xb4klsyp";
|
||||
sha256 = "08zpw7ygrqmwwznvxkf4xbrgwbjkbwc95sw1ikikg3143ql9qclp";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -51,20 +51,6 @@ stdenv.mkDerivation rec {
|
|||
switchboard
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./xkb.patch;
|
||||
config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
|
||||
})
|
||||
# Fix build with latest vala.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/switchboard-plug-keyboard/commit/28fa960f607f0b1d67f2864965a079bdfc23e3a8.patch";
|
||||
sha256 = "0121qcg8n7gkz7gpwrxc1cx0nnypj02zy2jmp3cks5r9sc0yi0hw";
|
||||
})
|
||||
];
|
||||
|
||||
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Switchboard Keyboard Plug";
|
||||
homepage = https://github.com/elementary/switchboard-plug-keyboard;
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala
|
||||
index 297314b..b36509a 100644
|
||||
--- a/src/Layout/Handler.vala
|
||||
+++ b/src/Layout/Handler.vala
|
||||
@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
|
||||
}
|
||||
|
||||
private void parse_layouts () {
|
||||
- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
|
||||
+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
|
||||
if (doc == null) {
|
||||
critical ("'evdev.xml' not found or permissions missing\n");
|
||||
return;
|
||||
@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
|
||||
public HashTable<string, string> get_variants_for_language (string language) {
|
||||
var returned_table = new HashTable<string, string> (str_hash, str_equal);
|
||||
returned_table.set ("", _("Default"));
|
||||
- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
|
||||
+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
|
||||
if (doc == null) {
|
||||
critical ("'evdev.xml' not found or permissions incorrect\n");
|
||||
return returned_table;
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-network";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145";
|
||||
sha256 = "0pqkr7swjgla8klcjdcwgk2fipiwvylk8m71l1fymazvzwxrbxw6";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala
|
||||
index 82e7826..cf00145 100644
|
||||
index ba9dc22..a12871a 100644
|
||||
--- a/src/Views/VPNPage.vala
|
||||
+++ b/src/Views/VPNPage.vala
|
||||
@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page {
|
||||
@@ -264,7 +264,7 @@ public class Network.VPNPage : Network.Widgets.Page {
|
||||
private void try_connection_editor (string args) {
|
||||
try {
|
||||
var appinfo = AppInfo.create_from_commandline (
|
||||
|
@ -12,24 +12,15 @@ index 82e7826..cf00145 100644
|
|||
GLib.AppInfoCreateFlags.NONE
|
||||
);
|
||||
diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
|
||||
index ed36b38..bc71c0c 100644
|
||||
index 5849b69..7bbd172 100644
|
||||
--- a/src/Widgets/SettingsButton.vala
|
||||
+++ b/src/Widgets/SettingsButton.vala
|
||||
@@ -24,7 +24,7 @@
|
||||
@@ -55,7 +55,7 @@ public class Network.Widgets.SettingsButton : Gtk.Button {
|
||||
clicked.connect (() => {
|
||||
try {
|
||||
var appinfo = AppInfo.create_from_commandline (
|
||||
- "nm-connection-editor",
|
||||
+ "@networkmanagerapplet@/bin/nm-connection-editor",
|
||||
null,
|
||||
AppInfoCreateFlags.NONE
|
||||
);
|
||||
@@ -71,7 +71,7 @@
|
||||
private void edit_connection_uuid (string uuid) {
|
||||
try {
|
||||
var appinfo = AppInfo.create_from_commandline (
|
||||
- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
|
||||
+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
|
||||
- "nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE
|
||||
+ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE
|
||||
);
|
||||
|
||||
appinfo.launch (null, null);
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-notifications";
|
||||
version = "2.1.5";
|
||||
version = "2.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n";
|
||||
sha256 = "1ikq058svdan0whg4ks35m50apvbmzcz7h2wznxdbsimczzvj5sz";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -42,8 +42,6 @@ stdenv.mkDerivation rec {
|
|||
switchboard
|
||||
];
|
||||
|
||||
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Switchboard Notifications Plug";
|
||||
homepage = https://github.com/elementary/switchboard-plug-notifications;
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-power";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj";
|
||||
sha256 = "0hmchx0sfdm2c2f9khjvlaqcxmvzarn2vmwcdb3h5ifbj32vydzw";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-printers";
|
||||
version = "2.1.7";
|
||||
version = "2.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1";
|
||||
sha256 = "0nnzwpfxkvgsw3g329926c3m7vci6vyb60qib7b9mpgicmsqnkvz";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-sharing";
|
||||
version = "2.1.3";
|
||||
version = "2.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1yi6aga9i18wwn22zwmfbhsk16f92fka837is5r8xghqb7a50hyh";
|
||||
sha256 = "1awkz16nydlgi8a2dd6agfnd3qwl2qsvv6wnn8bhaz1kbv1v9kpw";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -43,16 +43,6 @@ stdenv.mkDerivation rec {
|
|||
switchboard
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix build with latest vala
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/switchboard-plug-sharing/commit/22c9d52577a2e8c36c840a99009420266a39e1fe.patch";
|
||||
sha256 = "0rbf1yxhc7k44cwikd45mv2g6slzw0rkwn5s38q3yxai9jnpvqch";
|
||||
})
|
||||
];
|
||||
|
||||
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Switchboard Sharing Plug";
|
||||
homepage = https://github.com/elementary/switchboard-plug-sharing;
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-sound";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k";
|
||||
sha256 = "1vpw06ldhy26xs5vp2gx5s8wbl42dznycp3jsnm5qp8iid8wl6l6";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard";
|
||||
version = "2.3.8";
|
||||
version = "2.3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx";
|
||||
sha256 = "0gq2gi14ywmhhlq3vablzqjzxq2ms60l9b10splzsf3zd7k2dqz2";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -47,6 +47,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
|
||||
elementary-code = callPackage ./apps/elementary-code { };
|
||||
|
||||
elementary-dock = callPackage ./apps/elementary-dock { };
|
||||
|
||||
elementary-files = callPackage ./apps/elementary-files { };
|
||||
|
||||
elementary-feedback = callPackage ./apps/elementary-feedback { };
|
||||
|
@ -99,8 +101,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
|
||||
#### SERVICES
|
||||
|
||||
cerbere = callPackage ./services/cerbere { };
|
||||
|
||||
contractor = callPackage ./services/contractor { };
|
||||
|
||||
elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
|
||||
|
@ -200,4 +200,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
|
||||
inherit (pkgs) vala; # added 2019-10-10
|
||||
|
||||
cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
|
||||
|
||||
})
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-greeter";
|
||||
version = "5.0.2";
|
||||
version = "5.0.3";
|
||||
|
||||
repoName = "greeter";
|
||||
|
||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "0557lr8czqwjrm39ykfacqw5x7nng7fmf1gxkif70xg7dk3lc7gd";
|
||||
sha256 = "1zbfcdgjn57r8pz01xrz6kk8rmviq133snz9f1vqhjdsznk82w5i";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-onboarding";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
repoName = "onboarding";
|
||||
|
||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k";
|
||||
sha256 = "0yxafz7jlzj8gsbp6m72q4zbcvm1ch2y4fibj9cymjvz2i0izhba";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-shortcut-overlay";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
repoName = "shortcut-overlay";
|
||||
|
||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8";
|
||||
sha256 = "03wnc3vfnrkm5i7h370n7h2mbcmaxnhynmjs37q63vq6vq7agldb";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -26,13 +26,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gala";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1vf55ls3h20zpf0yxb206cijq8nkf89z2lmhccb4i1g2zajd31ix";
|
||||
sha256 = "02g6x190lylng8d07pwx2bqcc71rq48f0dxh30mgndfii6k21qgs";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index 6b20a60..205699b 100644
|
||||
index 78113d6..926596c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -38,7 +38,7 @@ conf.set_quoted('PACKAGE_VERSION', gala_version)
|
||||
@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi'
|
||||
|
||||
data_dir = join_paths(get_option('prefix'), get_option('datadir'))
|
||||
plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins')
|
||||
+plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins')
|
||||
pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
|
||||
pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
|
||||
|
||||
conf = configuration_data()
|
||||
conf.set_quoted('DATADIR', data_dir)
|
||||
conf.set_quoted('PKGDATADIR', pkgdata_dir)
|
||||
conf.set_quoted('PKGLIBDIR', pkglib_dir)
|
||||
-conf.set_quoted('PLUGINSDIR', plugins_dir)
|
||||
+conf.set_quoted('PLUGINSDIR', '/run/current-system/sw/lib/gala/plugins')
|
||||
conf.set_quoted('RELEASE_NAME', 'Window Manager.')
|
||||
-conf.set_quoted('PLUGINDIR', plugins_dir)
|
||||
+conf.set_quoted('PLUGINDIR', plugins_dir_for_build)
|
||||
conf.set_quoted('RESOURCEPATH', '/org/pantheon/desktop/gala')
|
||||
conf.set_quoted('VERSION', gala_version)
|
||||
conf.set_quoted('VERSION_INFO', (is_release ? 'Release' : 'Development'))
|
||||
@@ -83,7 +83,7 @@ add_project_arguments([
|
||||
'-DDATADIR="@0@"'.format(data_dir),
|
||||
'-DPKGDATADIR="@0@"'.format(pkgdata_dir),
|
||||
'-DPKGLIBDIR="@0@"'.format(pkglib_dir),
|
||||
- '-DPLUGINDIR="@0@"'.format(plugins_dir),
|
||||
+ '-DPLUGINDIR="@0@"'.format('/run/current-system/sw/lib/gala/plugins'),
|
||||
'-DSCHEMA="org.pantheon.desktop.gala"',
|
||||
'-DRESOURCEPATH="/org/pantheon/desktop/gala"',
|
||||
|
||||
conf.set_quoted('SCHEMA', 'org.pantheon.desktop.gala')
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pantheon
|
||||
, pkgconfig
|
||||
, meson
|
||||
|
@ -20,13 +19,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-datetime";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y";
|
||||
sha256 = "0a0pqrpmrdd5pch30lizr9righlc7165z7krmnaxrzd0fvfkbr2h";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -54,14 +53,6 @@ stdenv.mkDerivation rec {
|
|||
wingpanel
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Add support for libecal-2.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch";
|
||||
sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-keyboard";
|
||||
version = "2.2.0";
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn";
|
||||
sha256 = "0q32qc6jh5w0i1ixkl59pys8r3hxmbig8854q7sxi07vlk9g3i7y";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -45,18 +45,16 @@ stdenv.mkDerivation rec {
|
|||
gtk3
|
||||
libgee
|
||||
wingpanel
|
||||
xorg.xkeyboardconfig
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
libgnomekbd_path = "${libgnomekbd}/bin/";
|
||||
config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
|
||||
gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
|
||||
})
|
||||
];
|
||||
|
||||
PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Keyboard Indicator for Wingpanel";
|
||||
homepage = https://github.com/elementary/wingpanel-indicator-keyboard;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/src/Indicator.vala b/src/Indicator.vala
|
||||
index cd7ca49..0bef9c7 100644
|
||||
index cd7ca49..7813789 100644
|
||||
--- a/src/Indicator.vala
|
||||
+++ b/src/Indicator.vala
|
||||
@@ -94,7 +94,7 @@ public class Keyboard.Indicator : Wingpanel.Indicator {
|
||||
|
@ -7,20 +7,7 @@ index cd7ca49..0bef9c7 100644
|
|||
close ();
|
||||
|
||||
- string command = "gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\"";
|
||||
+ string command = "@libgnomekbd_path@gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\"";
|
||||
+ string command = "@gkbd_keyboard_display@ \"--layout=" + layouts.get_current_with_variant () + "\"";
|
||||
|
||||
try {
|
||||
AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE).launch (null, null);
|
||||
diff --git a/src/LayoutsManager.vala b/src/LayoutsManager.vala
|
||||
index 1bac80e..67df847 100644
|
||||
--- a/src/LayoutsManager.vala
|
||||
+++ b/src/LayoutsManager.vala
|
||||
@@ -97,7 +97,7 @@ public class Keyboard.Widgets.LayoutManager : Gtk.ScrolledWindow {
|
||||
|
||||
public string? get_name_for_xkb_layout (string language, string? variant) {
|
||||
debug ("get_name_for_xkb_layout (%s, %s)", language, variant);
|
||||
- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
|
||||
+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
|
||||
if (doc == null) {
|
||||
critical ("'evdev.xml' not found or permissions incorrect\n");
|
||||
return null;
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-network";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0fch27imk5x4nfx49cwcylkxd7m289rl9niy1vx5kjplhbhyhdq2";
|
||||
sha256 = "17s5fixhwgalgjhrhnb3wh0hdzi17waqcdfw1fx8q4zs78hapjzg";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -46,8 +46,6 @@ stdenv.mkDerivation rec {
|
|||
wingpanel
|
||||
];
|
||||
|
||||
PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Network Indicator for Wingpanel";
|
||||
homepage = https://github.com/elementary/wingpanel-indicator-network;
|
||||
|
|
|
@ -9,18 +9,17 @@
|
|||
, granite
|
||||
, wingpanel
|
||||
, libgee
|
||||
, libwnck3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-notifications";
|
||||
version = "2.1.3";
|
||||
version = "2.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py";
|
||||
sha256 = "0qp13iaf2956ss4d6w6vwnzdvb7izqmyh6xrdii7j8gxxwjd4lxm";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -40,7 +39,6 @@ stdenv.mkDerivation rec {
|
|||
granite
|
||||
gtk3
|
||||
libgee
|
||||
libwnck3
|
||||
wingpanel
|
||||
];
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-power";
|
||||
version = "2.1.4";
|
||||
version = "2.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "02gp9m9zkmhcl43nz02kjkcim4zm25zab3il8dhwkihh731g1c6j";
|
||||
sha256 = "19zhgzyivf3y416r5xaajx81h87zdhvrrcsagli00gp1f2169q5m";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -50,8 +50,6 @@ stdenv.mkDerivation rec {
|
|||
wingpanel
|
||||
];
|
||||
|
||||
PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-session";
|
||||
version = "2.2.7";
|
||||
version = "2.2.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb";
|
||||
sha256 = "02inp8xdxfx8qxjdf2nazw46ahp1gv3skd922ma6kgx5w4wxh5l8";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-sound";
|
||||
version = "2.1.4";
|
||||
version = "2.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b";
|
||||
sha256 = "0nla8qgn5gb1g2gn7c47m9zw42sarjd0030x3h5kckapsbaxknhp";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel";
|
||||
version = "2.2.6";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0q5jhg3gpcjfzfi7g33fv8pb916cqsgk6543b82yy97c20902ap9";
|
||||
sha256 = "0m3pd4sf86kk1wv9asq4z2816bcal076vlk820mrdz9b2fm79lh3";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "granite";
|
||||
version = "5.3.0";
|
||||
version = "5.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa";
|
||||
sha256 = "12f1n07cjlc7czf642ak6964wl4fsgakc39nnmiba22z5aahfpz9";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, pantheon
|
||||
, pkgconfig
|
||||
, meson
|
||||
, python3
|
||||
, ninja
|
||||
, glib
|
||||
, libgee
|
||||
, vala_0_46
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cerbere";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "12y6gg4vyc1rhdm2c7pr7bgmdrah7ddphyh25fgh3way8l9gh7vw";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
updateScript = pantheon.updateScript {
|
||||
attrPath = "pantheon.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
vala_0_46
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
libgee
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple service to ensure uptime of essential processes";
|
||||
homepage = https://github.com/elementary/cerbere;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = pantheon.maintainers;
|
||||
};
|
||||
|
||||
}
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "closure-compiler";
|
||||
version = "20200224";
|
||||
version = "20200315";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
|
||||
sha256 = "0qlnpnd64rrlyz7ybdnp7zk5ns2s0071zs1fcrcq9ba2lnhfbmmb";
|
||||
sha256 = "0akif1wgsyyqrfkidkwhw47dsx471h3b4zsjhnh4rf6kv7by3q65";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
|
|
@ -9,22 +9,23 @@ in {
|
|||
stable = mkFlutter {
|
||||
pname = "flutter";
|
||||
channel = "stable";
|
||||
version = "1.12.13+hotfix.8";
|
||||
sha256Hash = "01ik4xckr3fp65sq4g0g6wy5b9i0r49l643xmbxa6z9k21sby46d";
|
||||
version = "1.12.13+hotfix.9";
|
||||
sha256Hash = "1ql3zvmmk5zk47y30lajxaam04q6vr373dayq15jv4vpc0fzif1y";
|
||||
patches = getPatches ./patches/stable;
|
||||
};
|
||||
beta = mkFlutter {
|
||||
pname = "flutter-beta";
|
||||
channel = "beta";
|
||||
version = "1.14.6";
|
||||
sha256Hash = "1a79pr741zkr39p5gc3p9x59d70vm60hpz2crgc53ysglj4ycigy";
|
||||
version = "1.15.17";
|
||||
sha256Hash = "0iil6y6y477dhjgzx54ab5m9nj0jg4xl8x4zzd9iwh8m756r7qsd";
|
||||
patches = getPatches ./patches/beta;
|
||||
};
|
||||
dev = mkFlutter {
|
||||
dev = mkFlutter rec {
|
||||
pname = "flutter-dev";
|
||||
channel = "dev";
|
||||
version = "1.15.3";
|
||||
sha256Hash = "06mawwqf7q7wdmzlyxlrlblhnnk4ckf3vp92lplippdh3d52r93i";
|
||||
patches = getPatches ./patches/dev;
|
||||
version = "1.17.0-dev.5.0";
|
||||
filename = "flutter_linux_${version}-${channel}.tar.xz";
|
||||
sha256Hash = "0ks2jf2bd42y2jsc91p33r57q7j3m94d8ihkmlxzwi53x1mwp0pk";
|
||||
patches = getPatches ./patches/beta;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ channel, pname, version, sha256Hash, patches }:
|
||||
{ channel, pname, version, sha256Hash, patches
|
||||
, filename ? "flutter_linux_v${version}-${channel}.tar.xz" }:
|
||||
|
||||
{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv
|
||||
, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb
|
||||
|
@ -11,7 +12,7 @@ let
|
|||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/flutter_linux_v${version}-${channel}.tar.xz";
|
||||
"https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}";
|
||||
sha256 = sha256Hash;
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ index 8e511eefd..fbc7d6ac3 100644
|
|||
final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
|
||||
final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.');
|
||||
- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
+ recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper')));
|
||||
if (!Platform.isWindows) {
|
||||
await exec(
|
||||
|
@ -28,7 +28,7 @@ index 79b06949f..9040ba0a8 100644
|
|||
final Uri entryUri = globals.fs.path.toUri(font['asset'] as String);
|
||||
result.add(_Asset(
|
||||
- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'),
|
||||
+ baseDir: globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'),
|
||||
+ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'),
|
||||
relativeUri: Uri(path: entryUri.pathSegments.last),
|
||||
entryUri: entryUri,
|
||||
));
|
||||
|
@ -41,14 +41,14 @@ index 715189938..5afb2a0db 100644
|
|||
}
|
||||
assert(_lock == null);
|
||||
+
|
||||
+ final Directory dir = globals.fs.directory(globals.fs.path.join(homeDirPath, '.cache', 'flutter'));
|
||||
+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
+ if (!dir.existsSync()) {
|
||||
+ dir.createSync(recursive: true);
|
||||
+ os.chmod(dir, '755');
|
||||
+ globals.os.chmod(dir, '755');
|
||||
+ }
|
||||
final File lockFile =
|
||||
- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile'));
|
||||
+ globals.fs.file(globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'lockfile'));
|
||||
+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile'));
|
||||
try {
|
||||
_lock = lockFile.openSync(mode: FileMode.write);
|
||||
} on FileSystemException catch (e) {
|
||||
|
@ -57,7 +57,7 @@ index 715189938..5afb2a0db 100644
|
|||
return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache'));
|
||||
} else {
|
||||
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache'));
|
||||
+ return _fileSystem.directory(_fileSystem.path.join(homeDirPath, '.cache', 'flutter'));
|
||||
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
../beta/disable-auto-update.patch
|
|
@ -1,63 +0,0 @@
|
|||
diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart
|
||||
index 8e511eefd..fbc7d6ac3 100644
|
||||
--- a/dev/devicelab/lib/framework/runner.dart
|
||||
+++ b/dev/devicelab/lib/framework/runner.dart
|
||||
@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async {
|
||||
print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)');
|
||||
final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
|
||||
final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.');
|
||||
- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper')));
|
||||
if (!Platform.isWindows) {
|
||||
await exec(
|
||||
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
|
||||
index 79b06949f..9040ba0a8 100644
|
||||
--- a/packages/flutter_tools/lib/src/asset.dart
|
||||
+++ b/packages/flutter_tools/lib/src/asset.dart
|
||||
@@ -6,6 +6,7 @@ import 'dart:async';
|
||||
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
+import 'base/common.dart';
|
||||
import 'base/context.dart';
|
||||
import 'base/file_system.dart';
|
||||
import 'base/utils.dart';
|
||||
@@ -325,7 +326,7 @@ List<_Asset> _getMaterialAssets(String fontSet) {
|
||||
for (final Map<dynamic, dynamic> font in family['fonts']) {
|
||||
final Uri entryUri = globals.fs.path.toUri(font['asset'] as String);
|
||||
result.add(_Asset(
|
||||
- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'),
|
||||
+ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'),
|
||||
relativeUri: Uri(path: entryUri.pathSegments.last),
|
||||
entryUri: entryUri,
|
||||
));
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index 715189938..5afb2a0db 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -189,8 +189,14 @@ class Cache {
|
||||
return;
|
||||
}
|
||||
assert(_lock == null);
|
||||
+
|
||||
+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
+ if (!dir.existsSync()) {
|
||||
+ dir.createSync(recursive: true);
|
||||
+ globals.os.chmod(dir, '755');
|
||||
+ }
|
||||
final File lockFile =
|
||||
- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile'));
|
||||
+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile'));
|
||||
try {
|
||||
_lock = lockFile.openSync(mode: FileMode.write);
|
||||
} on FileSystemException catch (e) {
|
||||
@@ -290,7 +296,7 @@ class Cache {
|
||||
if (_rootOverride != null) {
|
||||
return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache'));
|
||||
} else {
|
||||
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache'));
|
||||
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
}
|
||||
}
|
||||
|
|
@ -24,13 +24,13 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "intel-graphics-compiler";
|
||||
version = "1.0.3151";
|
||||
version = "1.0.3627";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "intel-graphics-compiler";
|
||||
rev = "igc-${version}";
|
||||
sha256 = "1c2ll563a2j4sv3r468i4lv158hkzywnyajyk7iyin7bhqhm2vzf";
|
||||
sha256 = "1x9fjvf7rbhil09am2v9j2jhwysdvwgshf9zidbirjgfrqn573h8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ clang cmake bison flex llvm python ];
|
||||
|
|
|
@ -279,7 +279,7 @@ stdenv.mkDerivation {
|
|||
Thanks to V8's custom startup snapshots, Lumo starts up instantaneously,
|
||||
making it the fastest Clojure REPL in existence.
|
||||
'';
|
||||
homepage = https://github.com/anmonteiro/lumo;
|
||||
homepage = "https://github.com/anmonteiro/lumo";
|
||||
license = stdenv.lib.licenses.epl10;
|
||||
maintainers = [ stdenv.lib.maintainers.hlolli ];
|
||||
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "joker";
|
||||
version = "0.14.2";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "candid82";
|
||||
repo = "joker";
|
||||
sha256 = "1wi80sr8h9fwh4xipff0y6qdzrliwyk2w1bmi33ncykxd9r2g7nk";
|
||||
sha256 = "03lbvxmkn0rr7yv7kj6c4dh4zayiwbhrkqbz2m22dw568rjbp8az";
|
||||
};
|
||||
|
||||
modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j";
|
||||
modSha256 = "1mylgim9nm0v5wybgzi74nqzmvzwzws0027wzl86dbj5id83ab9v";
|
||||
|
||||
preBuild = ''
|
||||
go generate ./...
|
||||
|
|
|
@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
|
|||
jruby = stdenv.mkDerivation rec {
|
||||
pname = "jruby";
|
||||
|
||||
version = "9.2.11.0";
|
||||
version = "9.2.11.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
|
||||
sha256 = "01yzpasnpqqm0vfc0ki8vkxbzijjfws135jw8k0r50b5lahjvs4a";
|
||||
sha256 = "1p4ml5rqidqllc7z85zn2q4pyyih71j0gb71wl43j4v74p44j17i";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
# pcre functionality is tested in nixos/tests/php-pcre.nix
|
||||
{ config, lib, stdenv, fetchurl
|
||||
, autoconf, automake, bison, file, flex, libtool, pkgconfig, re2c
|
||||
, libxml2, readline, zlib, curl, postgresql, gettext
|
||||
, openssl, pcre, pcre2, sqlite
|
||||
, libxslt, bzip2, icu, openldap, cyrus_sasl, unixODBC
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
|
||||
, gd, freetype, libXpm, libjpeg, libpng, libwebp
|
||||
, libzip, valgrind, oniguruma, symlinkJoin, writeText
|
||||
, makeWrapper, callPackage
|
||||
# We have tests for PCRE and PHP-FPM in nixos/tests/php/ or
|
||||
# both in the same attribute named nixosTests.php
|
||||
|
||||
{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin
|
||||
, writeText , autoconf, automake, bison, flex, libtool, pkgconfig, re2c
|
||||
, apacheHttpd, libargon2, libxml2, pcre, pcre2 , systemd, valgrind
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -15,182 +11,83 @@ let
|
|||
{ version
|
||||
, sha256
|
||||
, extraPatches ? []
|
||||
, withSystemd ? config.php.systemd or stdenv.isLinux
|
||||
, imapSupport ? config.php.imap or (!stdenv.isDarwin)
|
||||
, ldapSupport ? config.php.ldap or true
|
||||
, mysqlndSupport ? config.php.mysqlnd or true
|
||||
, mysqliSupport ? (config.php.mysqli or true) && (mysqlndSupport)
|
||||
, pdo_mysqlSupport ? (config.php.pdo_mysql or true) && (mysqlndSupport)
|
||||
, libxml2Support ? config.php.libxml2 or true
|
||||
, apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin)
|
||||
, embedSupport ? config.php.embed or false
|
||||
, bcmathSupport ? config.php.bcmath or true
|
||||
, socketsSupport ? config.php.sockets or true
|
||||
, curlSupport ? config.php.curl or true
|
||||
, gettextSupport ? config.php.gettext or true
|
||||
, pcntlSupport ? config.php.pcntl or true
|
||||
, pdo_odbcSupport ? config.php.pdo_odbc or true
|
||||
, postgresqlSupport ? config.php.postgresql or true
|
||||
, pdo_pgsqlSupport ? config.php.pdo_pgsql or true
|
||||
, readlineSupport ? config.php.readline or true
|
||||
, sqliteSupport ? config.php.sqlite or true
|
||||
, soapSupport ? (config.php.soap or true) && (libxml2Support)
|
||||
, zlibSupport ? config.php.zlib or true
|
||||
, opensslSupport ? config.php.openssl or true
|
||||
, mbstringSupport ? config.php.mbstring or true
|
||||
, gdSupport ? config.php.gd or true
|
||||
, intlSupport ? config.php.intl or true
|
||||
, exifSupport ? config.php.exif or true
|
||||
, xslSupport ? config.php.xsl or false
|
||||
, bz2Support ? config.php.bz2 or false
|
||||
, zipSupport ? config.php.zip or true
|
||||
, ftpSupport ? config.php.ftp or true
|
||||
, fpmSupport ? config.php.fpm or true
|
||||
, gmpSupport ? config.php.gmp or true
|
||||
, ztsSupport ? (config.php.zts or false) || (apxs2Support)
|
||||
, calendarSupport ? config.php.calendar or true
|
||||
, sodiumSupport ? (config.php.sodium or true) && (lib.versionAtLeast version "7.2")
|
||||
, tidySupport ? (config.php.tidy or false)
|
||||
, argon2Support ? (config.php.argon2 or true) && (lib.versionAtLeast version "7.2")
|
||||
, libzipSupport ? (config.php.libzip or true) && (lib.versionAtLeast version "7.2")
|
||||
, phpdbgSupport ? config.php.phpdbg or true
|
||||
|
||||
# Sapi flags
|
||||
, cgiSupport ? config.php.cgi or true
|
||||
, cliSupport ? config.php.cli or true
|
||||
, fpmSupport ? config.php.fpm or true
|
||||
, pearSupport ? config.php.pear or true
|
||||
, pharSupport ? config.php.phar or true
|
||||
, xmlrpcSupport ? (config.php.xmlrpc or false) && (libxml2Support)
|
||||
, phpdbgSupport ? config.php.phpdbg or true
|
||||
|
||||
|
||||
# Misc flags
|
||||
, apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin)
|
||||
, argon2Support ? config.php.argon2 or true
|
||||
, cgotoSupport ? config.php.cgoto or false
|
||||
, valgrindSupport ? (config.php.valgrind or true) && (lib.versionAtLeast version "7.2")
|
||||
, embedSupport ? config.php.embed or false
|
||||
, ipv6Support ? config.php.ipv6 or true
|
||||
, pearSupport ? (config.php.pear or true) && (libxml2Support)
|
||||
}: stdenv.mkDerivation {
|
||||
, systemdSupport ? config.php.systemd or stdenv.isLinux
|
||||
, valgrindSupport ? config.php.valgrind or true
|
||||
, ztsSupport ? (config.php.zts or false) || (apxs2Support)
|
||||
}: let
|
||||
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
|
||||
in stdenv.mkDerivation {
|
||||
pname = "php";
|
||||
|
||||
inherit version;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ autoconf automake bison file flex libtool pkgconfig re2c ];
|
||||
nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ];
|
||||
|
||||
buildInputs = [ ]
|
||||
++ lib.optional (lib.versionOlder version "7.3") pcre
|
||||
++ lib.optional (lib.versionAtLeast version "7.3") pcre2
|
||||
++ lib.optional (lib.versionAtLeast version "7.4") oniguruma
|
||||
++ lib.optional withSystemd systemd
|
||||
++ lib.optionals imapSupport [ uwimap openssl pam ]
|
||||
++ lib.optionals curlSupport [ curl openssl ]
|
||||
++ lib.optionals ldapSupport [ openldap openssl ]
|
||||
++ lib.optionals gdSupport [ gd freetype libXpm libjpeg libpng libwebp ]
|
||||
++ lib.optionals opensslSupport [ openssl openssl.dev ]
|
||||
buildInputs =
|
||||
# PCRE extension
|
||||
[ pcre' ]
|
||||
|
||||
# Enable sapis
|
||||
++ lib.optional pearSupport [ libxml2.dev ]
|
||||
|
||||
# Misc deps
|
||||
++ lib.optional apxs2Support apacheHttpd
|
||||
++ lib.optional (ldapSupport && stdenv.isLinux) cyrus_sasl
|
||||
++ lib.optional zlibSupport zlib
|
||||
++ lib.optional libxml2Support libxml2
|
||||
++ lib.optional readlineSupport readline
|
||||
++ lib.optional sqliteSupport sqlite
|
||||
++ lib.optional postgresqlSupport postgresql
|
||||
++ lib.optional pdo_odbcSupport unixODBC
|
||||
++ lib.optional pdo_pgsqlSupport postgresql
|
||||
++ lib.optional gmpSupport gmp
|
||||
++ lib.optional gettextSupport gettext
|
||||
++ lib.optional intlSupport icu
|
||||
++ lib.optional xslSupport libxslt
|
||||
++ lib.optional bz2Support bzip2
|
||||
++ lib.optional sodiumSupport libsodium
|
||||
++ lib.optional tidySupport html-tidy
|
||||
++ lib.optional argon2Support libargon2
|
||||
++ lib.optional libzipSupport libzip
|
||||
++ lib.optional valgrindSupport valgrind;
|
||||
++ lib.optional systemdSupport systemd
|
||||
++ lib.optional valgrindSupport valgrind
|
||||
;
|
||||
|
||||
CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
|
||||
|
||||
configureFlags = [ "--with-config-file-scan-dir=/etc/php.d" ]
|
||||
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre.dev}" "PCRE_LIBDIR=${pcre}" ]
|
||||
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ]
|
||||
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ]
|
||||
++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}"
|
||||
++ lib.optional withSystemd "--with-fpm-systemd"
|
||||
++ lib.optionals imapSupport [
|
||||
"--with-imap=${uwimap}"
|
||||
"--with-imap-ssl"
|
||||
]
|
||||
++ lib.optionals ldapSupport [
|
||||
"--with-ldap=/invalid/path"
|
||||
"LDAP_DIR=${openldap.dev}"
|
||||
"LDAP_INCDIR=${openldap.dev}/include"
|
||||
"LDAP_LIBDIR=${openldap.out}/lib"
|
||||
]
|
||||
++ lib.optional (ldapSupport && stdenv.isLinux) "--with-ldap-sasl=${cyrus_sasl.dev}"
|
||||
++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
|
||||
++ lib.optional embedSupport "--enable-embed"
|
||||
++ lib.optional curlSupport "--with-curl=${curl.dev}"
|
||||
++ lib.optional zlibSupport "--with-zlib=${zlib.dev}"
|
||||
++ lib.optional (libxml2Support && (lib.versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
|
||||
++ lib.optional (!libxml2Support) [
|
||||
"--disable-dom"
|
||||
(if (lib.versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
|
||||
"--disable-simplexml"
|
||||
"--disable-xml"
|
||||
"--disable-xmlreader"
|
||||
"--disable-xmlwriter"
|
||||
"--without-pear"
|
||||
]
|
||||
++ lib.optional pcntlSupport "--enable-pcntl"
|
||||
++ lib.optional readlineSupport "--with-readline=${readline.dev}"
|
||||
++ lib.optional sqliteSupport "--with-pdo-sqlite=${sqlite.dev}"
|
||||
++ lib.optional postgresqlSupport "--with-pgsql=${postgresql}"
|
||||
++ lib.optional pdo_odbcSupport "--with-pdo-odbc=unixODBC,${unixODBC}"
|
||||
++ lib.optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}"
|
||||
++ lib.optional (pdo_mysqlSupport && mysqlndSupport) "--with-pdo-mysql=mysqlnd"
|
||||
++ lib.optional (mysqliSupport && mysqlndSupport) "--with-mysqli=mysqlnd"
|
||||
++ lib.optional (pdo_mysqlSupport || mysqliSupport) "--with-mysql-sock=/run/mysqld/mysqld.sock"
|
||||
++ lib.optional bcmathSupport "--enable-bcmath"
|
||||
++ lib.optionals (gdSupport && lib.versionAtLeast version "7.4") [
|
||||
"--enable-gd"
|
||||
"--with-external-gd=${gd.dev}"
|
||||
"--with-webp=${libwebp}"
|
||||
"--with-jpeg=${libjpeg.dev}"
|
||||
"--with-xpm=${libXpm.dev}"
|
||||
"--with-freetype=${freetype.dev}"
|
||||
"--enable-gd-jis-conv"
|
||||
] ++ lib.optionals (gdSupport && lib.versionOlder version "7.4") [
|
||||
"--with-gd=${gd.dev}"
|
||||
"--with-webp-dir=${libwebp}"
|
||||
"--with-jpeg-dir=${libjpeg.dev}"
|
||||
"--with-png-dir=${libpng.dev}"
|
||||
"--with-freetype-dir=${freetype.dev}"
|
||||
"--with-xpm-dir=${libXpm.dev}"
|
||||
"--enable-gd-jis-conv"
|
||||
]
|
||||
++ lib.optional gmpSupport "--with-gmp=${gmp.dev}"
|
||||
++ lib.optional soapSupport "--enable-soap"
|
||||
++ lib.optional socketsSupport "--enable-sockets"
|
||||
++ lib.optional opensslSupport "--with-openssl"
|
||||
++ lib.optional mbstringSupport "--enable-mbstring"
|
||||
++ lib.optional gettextSupport "--with-gettext=${gettext}"
|
||||
++ lib.optional intlSupport "--enable-intl"
|
||||
++ lib.optional exifSupport "--enable-exif"
|
||||
++ lib.optional xslSupport "--with-xsl=${libxslt.dev}"
|
||||
++ lib.optional bz2Support "--with-bz2=${bzip2.dev}"
|
||||
++ lib.optional (zipSupport && (lib.versionOlder version "7.4")) "--enable-zip"
|
||||
++ lib.optional (zipSupport && (lib.versionAtLeast version "7.4")) "--with-zip"
|
||||
++ lib.optional ftpSupport "--enable-ftp"
|
||||
++ lib.optional fpmSupport "--enable-fpm"
|
||||
++ lib.optional ztsSupport "--enable-maintainer-zts"
|
||||
++ lib.optional calendarSupport "--enable-calendar"
|
||||
++ lib.optional sodiumSupport "--with-sodium=${libsodium.dev}"
|
||||
++ lib.optional tidySupport "--with-tidy=${html-tidy}"
|
||||
++ lib.optional argon2Support "--with-password-argon2=${libargon2}"
|
||||
++ lib.optional (libzipSupport && (lib.versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
|
||||
++ lib.optional phpdbgSupport "--enable-phpdbg"
|
||||
++ lib.optional (!phpdbgSupport) "--disable-phpdbg"
|
||||
configureFlags =
|
||||
# Disable all extensions
|
||||
[ "--disable-all" ]
|
||||
|
||||
# PCRE
|
||||
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
|
||||
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
|
||||
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
|
||||
++ [ "PCRE_LIBDIR=${pcre'}" ]
|
||||
|
||||
|
||||
# Enable sapis
|
||||
++ lib.optional (!cgiSupport) "--disable-cgi"
|
||||
++ lib.optional (!cliSupport) "--disable-cli"
|
||||
++ lib.optional (!pharSupport) "--disable-phar"
|
||||
++ lib.optional xmlrpcSupport "--with-xmlrpc"
|
||||
++ lib.optional fpmSupport "--enable-fpm"
|
||||
++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ]
|
||||
++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml"
|
||||
++ lib.optional pharSupport "--enable-phar"
|
||||
++ lib.optional phpdbgSupport "--enable-phpdbg"
|
||||
|
||||
|
||||
# Misc flags
|
||||
++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
|
||||
++ lib.optional argon2Support "--with-password-argon2=${libargon2}"
|
||||
++ lib.optional cgotoSupport "--enable-re2c-cgoto"
|
||||
++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
|
||||
++ lib.optional embedSupport "--enable-embed"
|
||||
++ lib.optional (!ipv6Support) "--disable-ipv6"
|
||||
++ lib.optional (pearSupport && libxml2Support) "--with-pear=$(out)/lib/php/pear";
|
||||
++ lib.optional systemdSupport "--with-fpm-systemd"
|
||||
++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
|
||||
++ lib.optional ztsSupport "--enable-maintainer-zts"
|
||||
;
|
||||
|
||||
hardeningDisable = [ "bindnow" ];
|
||||
|
||||
|
@ -204,8 +101,6 @@ let
|
|||
--replace '@PHP_LDFLAGS@' ""
|
||||
done
|
||||
|
||||
substituteInPlace ./build/libtool.m4 --replace /usr/bin/file ${file}/bin/file
|
||||
|
||||
export EXTENSION_DIR=$out/lib/php/extensions
|
||||
|
||||
./buildconf --copy --force
|
||||
|
@ -235,6 +130,12 @@ let
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
patches = [ ./fix-paths-php7.patch ] ++ extraPatches;
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An HTML-embedded scripting language";
|
||||
homepage = "https://www.php.net/";
|
||||
|
@ -243,57 +144,121 @@ let
|
|||
platforms = platforms.all;
|
||||
outputsToInstall = [ "out" "dev" ];
|
||||
};
|
||||
|
||||
patches = [ ./fix-paths-php7.patch ] ++ extraPatches;
|
||||
|
||||
stripDebugList = "bin sbin lib modules";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
};
|
||||
|
||||
generic' = { version, sha256, ... }@args: let php = generic args; in php.overrideAttrs (_: {
|
||||
passthru.buildEnv = { exts ? (_: []), extraConfig ? "" }: let
|
||||
extraInit = writeText "custom-php.ini" ''
|
||||
${extraConfig}
|
||||
${lib.concatMapStringsSep "\n" (ext: let
|
||||
extName = lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
|
||||
generic' = { version, sha256, self, selfWithExtensions, ... }@args:
|
||||
let
|
||||
php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]);
|
||||
|
||||
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
||||
php = self;
|
||||
phpWithExtensions = selfWithExtensions;
|
||||
});
|
||||
|
||||
buildEnv = { extensions ? (_: []), extraConfig ? "" }:
|
||||
let
|
||||
getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
|
||||
enabledExtensions = extensions php-packages.extensions;
|
||||
|
||||
# Generate extension load configuration snippets from the
|
||||
# extension parameter. This is an attrset suitable for use
|
||||
# with textClosureList, which is used to put the strings in
|
||||
# the right order - if a plugin which is dependent on
|
||||
# another plugin is placed before its dependency, it will
|
||||
# fail to load.
|
||||
extensionTexts =
|
||||
lib.listToAttrs
|
||||
(map (ext:
|
||||
let
|
||||
extName = getExtName ext;
|
||||
type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
|
||||
in ''
|
||||
${type}=${ext}/lib/php/extensions/${extName}.so
|
||||
'') (exts (callPackage ../../../top-level/php-packages.nix { inherit php; }))}
|
||||
in
|
||||
lib.nameValuePair extName {
|
||||
text = "${type}=${ext}/lib/php/extensions/${extName}.so";
|
||||
deps = lib.optionals (ext ? internalDeps)
|
||||
(map getExtName ext.internalDeps);
|
||||
})
|
||||
enabledExtensions);
|
||||
|
||||
extNames = map getExtName enabledExtensions;
|
||||
extraInit = writeText "custom-php.ini" ''
|
||||
${lib.concatStringsSep "\n"
|
||||
(lib.textClosureList extensionTexts extNames)}
|
||||
${extraConfig}
|
||||
'';
|
||||
in symlinkJoin {
|
||||
name = "php-custom-${version}";
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "php-with-extensions-${version}";
|
||||
inherit (php) version dev;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
passthru = {
|
||||
inherit buildEnv withExtensions enabledExtensions;
|
||||
inherit (php-packages) packages extensions;
|
||||
};
|
||||
paths = [ php ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/php \
|
||||
--add-flags "-c ${extraInit}"
|
||||
wrapProgram $out/bin/php-fpm \
|
||||
--add-flags "-c ${extraInit}"
|
||||
cp ${extraInit} $out/lib/custom-php.ini
|
||||
|
||||
wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
|
||||
|
||||
if test -e $out/bin/php-fpm; then
|
||||
wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
withExtensions = extensions: buildEnv { inherit extensions; };
|
||||
in
|
||||
php.overrideAttrs (_: {
|
||||
passthru = {
|
||||
enabledExtensions = [];
|
||||
inherit buildEnv withExtensions;
|
||||
inherit (php-packages) packages extensions;
|
||||
};
|
||||
});
|
||||
|
||||
in {
|
||||
php72 = generic' {
|
||||
php72base = generic' {
|
||||
version = "7.2.28";
|
||||
sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw";
|
||||
self = php72base;
|
||||
selfWithExtensions = php72;
|
||||
|
||||
# https://bugs.php.net/bug.php?id=76826
|
||||
extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
||||
};
|
||||
|
||||
php73 = generic' {
|
||||
php73base = generic' {
|
||||
version = "7.3.15";
|
||||
sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld";
|
||||
self = php73base;
|
||||
selfWithExtensions = php73;
|
||||
|
||||
# https://bugs.php.net/bug.php?id=76826
|
||||
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
||||
};
|
||||
|
||||
php74 = generic' {
|
||||
php74base = generic' {
|
||||
version = "7.4.3";
|
||||
sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
|
||||
self = php74base;
|
||||
selfWithExtensions = php74;
|
||||
};
|
||||
|
||||
defaultPhpExtensions = extensions: with extensions; ([
|
||||
bcmath calendar curl ctype dom exif fileinfo filter ftp gd
|
||||
gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache
|
||||
openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql
|
||||
posix readline session simplexml sockets soap sodium sqlite3
|
||||
tokenizer xmlreader xmlwriter zip zlib
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]);
|
||||
|
||||
defaultPhpExtensionsWithHash = extensions:
|
||||
(defaultPhpExtensions extensions) ++ [ extensions.hash ];
|
||||
|
||||
php74 = php74base.withExtensions defaultPhpExtensions;
|
||||
php73 = php73base.withExtensions defaultPhpExtensionsWithHash;
|
||||
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
|
||||
|
||||
in {
|
||||
inherit php72base php73base php74base php72 php73 php74;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags, abseil-cpp }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.27.1"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
|
||||
version = "1.28.1"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
|
||||
pname = "grpc";
|
||||
src = fetchFromGitHub {
|
||||
owner = "grpc";
|
||||
repo = "grpc";
|
||||
rev = "v${version}";
|
||||
sha256 = "1yvmqxv6pwzbxw3si47x3anvl2pp3qy1acspmz4v60pd188c1fnc";
|
||||
sha256 = "17p3xwz5izlqg5ijnim4asl40pr8yhg9wrrmws4g0dk37nkn1x6p";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
patches = [
|
||||
|
@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
|
|||
description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.lnl7 maintainers.marsam ];
|
||||
homepage = https://grpc.io/;
|
||||
homepage = "https://grpc.io/";
|
||||
platforms = platforms.all;
|
||||
changelog = "https://github.com/grpc/grpc/releases/tag/v${version}";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{requireFile, autoPatchelfHook, pkgs, pkgs_i686, licenseAccepted ? false}:
|
||||
|
||||
{ toolsVersion ? "25.2.5"
|
||||
, platformToolsVersion ? "28.0.1"
|
||||
, platformToolsVersion ? "29.0.6"
|
||||
, buildToolsVersions ? [ "28.0.3" ]
|
||||
, includeEmulator ? false
|
||||
, emulatorVersion ? "28.0.14"
|
||||
, emulatorVersion ? "30.0.3"
|
||||
, platformVersions ? []
|
||||
, includeSources ? false
|
||||
, includeDocs ? false
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
let
|
||||
sdkArgs = {
|
||||
toolsVersion = "26.1.1";
|
||||
platformVersions = [ platformVersion ];
|
||||
includeEmulator = true;
|
||||
includeSystemImages = true;
|
||||
|
@ -67,12 +68,12 @@ stdenv.mkDerivation {
|
|||
export ANDROID_SERIAL="emulator-$port"
|
||||
|
||||
# Create a virtual android device for testing if it does not exists
|
||||
${sdk}/libexec/android-sdk/tools/android list targets
|
||||
${sdk}/libexec/android-sdk/tools/bin/avdmanager list target
|
||||
|
||||
if [ "$(${sdk}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ]
|
||||
then
|
||||
# Create a virtual android device
|
||||
yes "" | ${sdk}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS
|
||||
yes "" | ${sdk}/libexec/android-sdk/tools/bin/avdmanager create avd -n device -k "system-images;android-${platformVersion};${systemImageType};${abiVersion}" $NIX_ANDROID_AVD_FLAGS
|
||||
|
||||
${lib.optionalString enableGPU ''
|
||||
# Enable GPU acceleration
|
||||
|
|
|
@ -1,13 +1,39 @@
|
|||
{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}:
|
||||
{ deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686 }:
|
||||
|
||||
deployAndroidPackage {
|
||||
inherit package os;
|
||||
buildInputs = [ autoPatchelfHook makeWrapper ]
|
||||
++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libXfixes pkgs.xlibs.libxcb pkgs.libGL pkgs.libpulseaudio pkgs.zlib pkgs.ncurses5 pkgs.stdenv.cc.cc pkgs_i686.glibc ];
|
||||
++ lib.optional (os == "linux") [
|
||||
pkgs.glibc
|
||||
pkgs.xlibs.libX11
|
||||
pkgs.xlibs.libXext
|
||||
pkgs.xlibs.libXdamage
|
||||
pkgs.xlibs.libXfixes
|
||||
pkgs.xlibs.libxcb
|
||||
pkgs.xlibs.libXcomposite
|
||||
pkgs.xlibs.libXcursor
|
||||
pkgs.xlibs.libXi
|
||||
pkgs.xlibs.libXrender
|
||||
pkgs.xlibs.libXtst
|
||||
pkgs.libcxx
|
||||
pkgs.libGL
|
||||
pkgs.libpulseaudio
|
||||
pkgs.zlib
|
||||
pkgs.ncurses5
|
||||
pkgs.stdenv.cc.cc
|
||||
pkgs_i686.glibc
|
||||
pkgs.expat
|
||||
pkgs.freetype
|
||||
pkgs.nss
|
||||
pkgs.nspr
|
||||
pkgs.alsaLib
|
||||
];
|
||||
patchInstructions = lib.optionalString (os == "linux") ''
|
||||
addAutoPatchelfSearchPath $packageBaseDir/lib
|
||||
addAutoPatchelfSearchPath $packageBaseDir/lib64
|
||||
addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib
|
||||
# autoPatchelf is not detecting libuuid :(
|
||||
addAutoPatchelfSearchPath ${pkgs.libuuid.out}/lib
|
||||
autoPatchelf $out
|
||||
|
||||
# Wrap emulator so that it can load libdbus-1.so at runtime and it no longer complains about XKB keymaps
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue