···13services.networkmanager.enable = true;
14</programlisting>
1516-Some desktop managers (e.g., GNOME) enable NetworkManager
17automatically for you.</para>
1819<para>All users that should have permission to change network settings
···13services.networkmanager.enable = true;
14</programlisting>
1516+some desktop managers (e.g., GNOME) enable NetworkManager
17automatically for you.</para>
1819<para>All users that should have permission to change network settings
···3940</para>
4142-<para>It is also possible to run the test environment interactively,
43-allowing you to experiment with the VMs. For example:
44-45-<screen>
46-$ nix-build login.nix -A driver
47-$ ./result/bin/nixos-run-vms
48-</screen>
49-50-The script <command>nixos-run-vms</command> starts the virtual
51-machines defined by test. The root file system of the VMs is created
52-on the fly and kept across VM restarts in
53-<filename>./</filename><varname>hostname</varname><filename>.qcow2</filename>.</para>
5455-<para>Finally, the test itself can be run interactively. This is
56particularly useful when developing or debugging a test:
5758<screen>
59-$ nix-build tests/ -A nfs.driver
60$ ./result/bin/nixos-test-driver
61starting VDE switch for network 1
62>
···6667<screen>
68> startAll
069> $machine->succeed("touch /tmp/foo")
70</screen>
71···74completion. This allows you to inspect the state of the VMs after the
75test (e.g. to debug the test script).</para>
7677-</section>000000000000
···3940</para>
4142+<title>Running Tests interactively</title>
000000000004344+<para>The test itself can be run interactively. This is
45particularly useful when developing or debugging a test:
4647<screen>
48+$ nix-build nixos/tests/login.nix -A driver
49$ ./result/bin/nixos-test-driver
50starting VDE switch for network 1
51>
···5556<screen>
57> startAll
58+> testScript
59> $machine->succeed("touch /tmp/foo")
60</screen>
61···64completion. This allows you to inspect the state of the VMs after the
65test (e.g. to debug the test script).</para>
6667+<para>To just start and experiment with the VMs, run:
68+69+<screen>
70+$ nix-build nixos/tests/login.nix -A driver
71+$ ./result/bin/nixos-run-vms
72+</screen>
73+74+The script <command>nixos-run-vms</command> starts the virtual
75+machines defined by test. The root file system of the VMs is created
76+on the fly and kept across VM restarts in
77+<filename>./</filename><varname>hostname</varname><filename>.qcow2</filename>.</para>
78+79+</section>
+3-3
nixos/doc/manual/installation/installing.xml
···25 run <command>start display-manager</command> to start KDE.</para></listitem>
2627 <listitem><para>The boot process should have brought up networking (check
28- <command>ifconfig</command>). Networking is necessary for the
29 installer, since it will download lots of stuff (such as source
30 tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP
31 server on your network. Otherwise configure networking manually
32 using <command>ifconfig</command>.</para>
33 <para>To manually configure the network on the graphical installer,
34- first disable NetworkManager with
35- <command>stop NetworkManager</command>.</para></listitem>
3637 <listitem><para>The NixOS installer doesn’t do any partitioning or
38 formatting yet, so you need to that yourself. Use the following
···25 run <command>start display-manager</command> to start KDE.</para></listitem>
2627 <listitem><para>The boot process should have brought up networking (check
28+ <command>ip a</command>). Networking is necessary for the
29 installer, since it will download lots of stuff (such as source
30 tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP
31 server on your network. Otherwise configure networking manually
32 using <command>ifconfig</command>.</para>
33 <para>To manually configure the network on the graphical installer,
34+ first disable network-manager with
35+ <command>systemctl stop network-manager</command>.</para></listitem>
3637 <listitem><para>The NixOS installer doesn’t do any partitioning or
38 formatting yet, so you need to that yourself. Use the following
···1718 knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
1920- knownHostsFile = pkgs.writeText "ssh_known_hosts" (
21- flip concatMapStrings knownHosts (h: ''
22- ${concatStringsSep "," h.hostNames} ${if h.publicKey != null then h.publicKey else readFile h.publicKeyFile}
23- '')
24- );
002526 userOptions = {
27···254 description = ''
255 The public key data for the host. You can fetch a public key
256 from a running SSH server with the <command>ssh-keyscan</command>
257- command.
000258 '';
259 };
260 publicKeyFile = mkOption {
···264 The path to the public key file for the host. The public
265 key file is read at build time and saved in the Nix store.
266 You can fetch a public key file from a running SSH server
267- with the <command>ssh-keyscan</command> command.
00268 '';
269 };
270 };
···1718 knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
1920+ knownHostsFile = pkgs.runCommand "ssh_known_hosts" {} ''
21+ touch "$out"
22+ ${flip concatMapStrings knownHosts (h: ''
23+ pubkeyfile=${builtins.toFile "host.pub" (if h.publicKey == null then readFile h.publicKeyFile else h.publicKey)}
24+ ${pkgs.gnused}/bin/sed 's/^/${concatStringsSep "," h.hostNames} /' $pubkeyfile >> "$out"
25+ '')}
26+ '';
2728 userOptions = {
29···256 description = ''
257 The public key data for the host. You can fetch a public key
258 from a running SSH server with the <command>ssh-keyscan</command>
259+ command. The public key should not include any host names, only
260+ the key type and the key itself. It is allowed to add several
261+ lines here, each line will be treated as type/key pair and the
262+ host names will be prepended to each line.
263 '';
264 };
265 publicKeyFile = mkOption {
···269 The path to the public key file for the host. The public
270 key file is read at build time and saved in the Nix store.
271 You can fetch a public key file from a running SSH server
272+ with the <command>ssh-keyscan</command> command. The content
273+ of the file should follow the same format as described for
274+ the <literal>publicKey</literal> option.
275 '';
276 };
277 };
···9 { config, pkgs, ... }:
10 { services.printing.enable = true;
11 services.printing.listenAddresses = [ "*:631" ];
12- services.printing.cupsdConf =
13 ''
14 <Location />
15 Order allow,deny
···40 $server->fail("curl --fail --connect-timeout 2 http://client:631/");
4142 # Add a HP Deskjet printer connected via USB to the server.
43- $server->succeed("lpadmin -p DeskjetLocal -v usb://HP/Deskjet%205400%20series?serial=TH93I152S123XY -m 'drv:///sample.drv/deskjet.ppd' -E");
4445 # Add it to the client as well via IPP.
46- $client->succeed("lpadmin -p DeskjetRemote -v ipp://server/printers/DeskjetLocal -m 'drv:///sample.drv/deskjet.ppd' -E");
47 $client->succeed("lpadmin -d DeskjetRemote");
4849 # Do some status checks.
···55 $client->succeed("lpq") =~ /DeskjetRemote is ready.*no entries/s or die;
5657 # Test printing various file types.
58- foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/typesetting.pdf",
59 "${pkgs.groff}/share/doc/*/meref.ps",
60 "${pkgs.cups}/share/doc/cups/images/cups.png",
61 "${pkgs.xz}/share/doc/xz/faq.txt")
···72 # (showing that the right filters have been applied). Of
73 # course, since there is no actual USB printer attached, the
74 # file will stay in the queue forever.
75- $server->waitForFile("/var/spool/cups/d*-*");
76- $server->succeed("lpq -a") =~ /remroot.*$fn/ or die;
77- $server->succeed("hexdump -C -n2 /var/spool/cups/d*-*") =~ /1b 45/ or die; # 1b 45 = printer reset
7879 # Delete the job on the client. It should disappear on the
80 # server as well.
···9 { config, pkgs, ... }:
10 { services.printing.enable = true;
11 services.printing.listenAddresses = [ "*:631" ];
12+ services.printing.extraConf =
13 ''
14 <Location />
15 Order allow,deny
···40 $server->fail("curl --fail --connect-timeout 2 http://client:631/");
4142 # Add a HP Deskjet printer connected via USB to the server.
43+ $server->succeed("lpadmin -p DeskjetLocal -E -v usb://foobar/printers/foobar");
4445 # Add it to the client as well via IPP.
46+ $client->succeed("lpadmin -p DeskjetRemote -E -v ipp://server/printers/DeskjetLocal");
47 $client->succeed("lpadmin -d DeskjetRemote");
4849 # Do some status checks.
···55 $client->succeed("lpq") =~ /DeskjetRemote is ready.*no entries/s or die;
5657 # Test printing various file types.
58+ foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/penguin.pdf",
59 "${pkgs.groff}/share/doc/*/meref.ps",
60 "${pkgs.cups}/share/doc/cups/images/cups.png",
61 "${pkgs.xz}/share/doc/xz/faq.txt")
···72 # (showing that the right filters have been applied). Of
73 # course, since there is no actual USB printer attached, the
74 # file will stay in the queue forever.
75+ $server->waitForFile("/var/spool/cups/d00001-001");
76+ $server->succeed("lpq -a") =~ /$fn/ or die;
07778 # Delete the job on the client. It should disappear on the
79 # server as well.
···84 let boolToKernOpt = b: if b then "y" else "n";
85 # Disable RANDSTRUCT under virtualbox, as it has some kind of
86 # breakage with the vbox guest drivers
87- #randstruct = optionalString config.services.virtualbox.enable
88 # "GRKERNSEC_RANDSTRUCT n";
8990 # Disable restricting links under the testing kernel, as something
···84 let boolToKernOpt = b: if b then "y" else "n";
85 # Disable RANDSTRUCT under virtualbox, as it has some kind of
86 # breakage with the vbox guest drivers
87+ #randstruct = optionalString config.services.virtualboxGuest.enable
88 # "GRKERNSEC_RANDSTRUCT n";
8990 # Disable restricting links under the testing kernel, as something
···1-{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, expat, ecore, eina, evas
2-, dbus_libs }:
3-stdenv.mkDerivation rec {
4- name = "e_dbus-${version}";
5- version = "1.7.5";
6- src = fetchurl {
7- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
8- sha256 = "16ckrpzzw5x1cs0fwqkk8431al55xil5magihkp9l3s77g0qd26q";
9- };
10- buildInputs = [ pkgconfig zlib libjpeg expat ecore eina evas ];
11- propagatedBuildInputs = [ dbus_libs ];
12- setupHook = ./setup-hook.sh;
13- configureFlags = ''
14- --disable-edbus-test
15- --disable-edbus-test-client
16- --disable-edbus-notify-send
17- --disable-edbus-notify-test
18- --disable-edbus-async-test
19- '';
20- meta = {
21- description = "Enlightenment's D-Bus wrapping and glue layer library";
22- longDescription = ''
23- Enlightenment's E_Dbus is a set of wrappers around DBus APIs by
24- third party, so they can be easily used by EFL applications,
25- automatically providing Ecore/main loop integration, as well as
26- Eina data types.
27- '';
28- homepage = http://enlightenment.org/;
29- license = stdenv.lib.licenses.bsd2; # not sure
30- };
31-}
···0000000000000000000000000000000
-8
pkgs/desktops/e17/e_dbus/setup-hook.sh
···1-addDbusIncludePath () {
2- if test -d "$1/include/dbus-1.0"
3- then
4- export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
5- fi
6-}
7-8-envHooks+=(addDbusIncludePath)
···00000000
-33
pkgs/desktops/e17/ecore/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, evas, libX11, libXext, libXrender
2-, libXcomposite, libXfixes, libXdamage }:
3-stdenv.mkDerivation rec {
4- name = "ecore-${version}";
5- version = "1.7.5";
6- src = fetchurl {
7- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
8- sha256 = "08ljda6p0zj1h5sq3l0js6mihw8cr6ydynn42dnka36vachvmfjb";
9- };
10- buildInputs = [ pkgconfig eina evas ];
11- propagatedBuildInputs = [ libX11 libXext libXcomposite libXrender libXfixes
12- libXdamage
13- ];
14- meta = {
15- description = "Enlightenment's core mainloop, display abstraction and utility library";
16- longDescription = ''
17- Enlightenment's Ecore is a clean and tiny event loop library
18- with many modules to do lots of convenient things for a
19- programmer, to save time and effort.
20-21- It's small and lean, designed to work on embedded systems all
22- the way to large and powerful multi-cpu workstations. It
23- serialises all system signals, events etc. into a single event
24- queue, that is easily processed without needing to worry about
25- concurrency. A properly written, event-driven program using this
26- kind of programming doesn't need threads, nor has to worry about
27- concurrency. It turns a program into a state machine, and makes
28- it very robust and easy to follow.
29- '';
30- homepage = http://enlightenment.org/;
31- license = stdenv.lib.licenses.bsd2; # not sure
32- };
33-}
···000000000000000000000000000000000
-29
pkgs/desktops/e17/edje/default.nix
···1-{ stdenv, fetchurl, pkgconfig, lua, expat, zlib, libjpeg, eina, eet, evas
2-, ecore, embryo }:
3-stdenv.mkDerivation rec {
4- name = "edje-${version}";
5- version = "1.7.5";
6- src = fetchurl {
7- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
8- sha256 = "1hsyj46bk94yd9ymf9425pf4ygy36h5gdkg9fhf8qds8cnn2kcy7";
9- };
10- buildInputs = [ pkgconfig expat zlib libjpeg lua eina eet evas ecore embryo ];
11- patchPhase = ''
12- substituteInPlace src/bin/edje_cc_out.c --replace '%s/embryo_cc' '${embryo}/bin/embryo_cc'
13- substituteInPlace src/bin/edje_cc_out.c --replace 'eina_prefix_bin_get(pfx),' ""
14- '';
15- meta = {
16- description = "Enlightenment's abstract GUI layout and animation object library";
17- longDescription = ''
18- Enlightenment's Edje is a complex graphical design & layout
19- library based on Evas that provides an abstraction layer between
20- the application code and the interface, while allowing extremely
21- flexible dynamic layouts and animations.
22-23- In more popular terms, Edje makes every application that uses it
24- "skinable".
25- '';
26- homepage = http://enlightenment.org/;
27- license = stdenv.lib.licenses.bsd2; # not sure
28- };
29-}
···00000000000000000000000000000
-29
pkgs/desktops/e17/eet/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, zlib, libjpeg }:
2-stdenv.mkDerivation rec {
3- name = "eet-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "0ys2579v45f9x2n47shq0k63g0sdbj1ndhh72dvfajihsgjwd767";
8- };
9- buildInputs = [ pkgconfig eina zlib libjpeg ];
10- meta = {
11- description = "Enlightenment's data encode/decode and storage library";
12- longDescription = ''
13- Enlightenment's EET is a tiny library designed to write an
14- arbitary set of chunks of data to a file and optionally compress
15- each chunk (very much like a zip file) and allow fast
16- random-access reading of the file later on. EET files are
17- perfect for storing data that is written once (or rarely) and
18- read many times, especially when the program does not want to
19- have to read all the data in at once.
20-21- Use this library when you need to pack C structure and you want
22- to retrieve it quickly with as few as possible memory use. You
23- can also use it to serialize data quickly and exchange them
24- between two program over ipc or network link.
25- '';
26- homepage = http://enlightenment.org/;
27- license = stdenv.lib.licenses.bsd2; # not sure
28- };
29-}
···00000000000000000000000000000
-23
pkgs/desktops/e17/eeze/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, ecore, udev }:
2-stdenv.mkDerivation rec {
3- name = "eeze-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "0274fs4cxgw6420yyz9frrc8zhj0qqyvwczzslq3kih3sx1nikxr";
8- };
9- buildInputs = [ pkgconfig eina ecore ];
10- propagatedBuildInputs = [ udev ];
11- meta = {
12- description = "Enlightenment's device abstraction library";
13- longDescription = ''
14- Enlightenment's Eeze is a library for manipulating devices
15- through udev with a simple and fast api. It interfaces directly
16- with libudev, avoiding such middleman daemons as udisks/upower
17- or hal, to immediately gather device information the instant it
18- becomes known to the system.
19- '';
20- homepage = http://enlightenment.org/;
21- license = stdenv.lib.licenses.bsd2; # not sure
22- };
23-}
···00000000000000000000000
-29
pkgs/desktops/e17/efreet/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, eet, ecore }:
2-stdenv.mkDerivation rec {
3- name = "efreet-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "1yw7qjddqcnsz1vb693pa57v9wydvzfy198dc23mz46qfqx08nlg";
8- };
9- buildInputs = [ pkgconfig eina eet ecore ];
10- meta = {
11- description = "Enlightenment's standards handling for freedesktop.org standards";
12- longDescription = ''
13- Enlightenment's Efreet is a library designed to help apps work
14- several of the Freedesktop.org standards regarding Icons,
15- Desktop files and Menus. To that end it implements the following
16- specifications:
17-18- * XDG Base Directory Specification
19- * Icon Theme Specification
20- * Desktop Entry Specification
21- * Desktop Menu Specification
22- * FDO URI Specification
23- * Shared Mime Info Specification
24- * Trash Specification
25- '';
26- homepage = http://enlightenment.org/;
27- license = stdenv.lib.licenses.bsd2; # not sure
28- };
29-}
···00000000000000000000000000000
-18
pkgs/desktops/e17/eina/default.nix
···1-{ stdenv, fetchurl }:
2-stdenv.mkDerivation rec {
3- name = "eina-${version}";
4- version = "1.7.10";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "06pqn17zknmxzdk5gw6df0gpbicnrdjl9g4vncw57k2wzf5icy33";
8- };
9- meta = {
10- description = "Enlightenment's core data structure library";
11- longDescription = ''
12- Enlightenment's Eina is a core data structure and common utility
13- library.
14- '';
15- homepage = http://enlightenment.org/;
16- license = stdenv.lib.licenses.lgpl21;
17- };
18-}
···000000000000000000
-24
pkgs/desktops/e17/eio/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eet, eina, ecore }:
2-stdenv.mkDerivation rec {
3- name = "eio-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "1bsam5q364kc4xwfv7pql6686gj0byhk42zwjqx9ajf70l23kss6";
8- };
9- buildInputs = [ pkgconfig eet eina ecore ];
10- meta = {
11- description = "A library that integrates with EFL to provide efficient filesystem IO";
12- longDescription = ''
13- Eio integrates with EFL (Ecore, Eina) to provide efficient filesystem Input/Output.
14- It use the best techniques to achieve such purpose, like using at-variants, splice,
15- properly handling errors and doing it in an asynchronous fashion by means of worker
16- threads. It is also ported to Windows, so multi-platform.
17-18- Whenever you need to list a directory, copy, move or delete files, Eio will do that
19- task better than you'd achieve with naive implementations, and it is easy to use.
20- '';
21- homepage = http://enlightenment.org/;
22- license = stdenv.lib.licenses.lgpl21;
23- };
24-}
···000000000000000000000000
-19
pkgs/desktops/e17/elementary/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje }:
2-stdenv.mkDerivation rec {
3- name = "elementary-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "08cb4x9639xyrb8d4vzvhl6v385qjfswl717sicm7iimh5zlm2l9";
8- };
9- buildInputs = [ pkgconfig eina eet evas ecore edje ];
10- meta = {
11- description = "Enlightenment's core data structure library";
12- longDescription = ''
13- Enlightenment's Eina is a core data structure and common utility
14- library.
15- '';
16- homepage = http://enlightenment.org/;
17- license = stdenv.lib.licenses.lgpl21;
18- };
19-}
···0000000000000000000
-22
pkgs/desktops/e17/embryo/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina }:
2-stdenv.mkDerivation rec {
3- name = "embryo-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "104fsa179w2dfg00sfnap7c3b4ixcps4crxa6yav755awssdcim9";
8- };
9- buildInputs = [ pkgconfig eina ];
10- meta = {
11- description = "Enlightenment's small Pawn based virtual machine and compiler";
12- longDescription = ''
13- Enlightenment's Embryo is a tiny library designed to interpret
14- limited Small programs compiled by the included compiler,
15- embryo_cc. It is mostly a cleaned up and smaller version of the
16- original Small abstract machine. The compiler is mostly
17- untouched.
18- '';
19- homepage = http://enlightenment.org/;
20- license = with stdenv.lib.licenses; [ bsd2.shortName bsd3.shortName ]; # not sure
21- };
22-}
···0000000000000000000000
-19
pkgs/desktops/e17/emotion/default.nix
···1-{ stdenv, fetchurl, pkgconfig, ecore, evas, eet, eina, edje, vlc }:
2-stdenv.mkDerivation rec {
3- name = "emotion-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "1sfw8kpj2fcqymzd6q7p51xxib1n2arvjl1hnwhqkvwhlsq2b4sw";
8- };
9- buildInputs = [ pkgconfig ecore evas eet eina edje vlc ];
10- meta = {
11- description = "A library to easily integrate media playback into EFL applications";
12- longDescription = ''
13- Emotion is a library to easily integrate media playback into EFL applications,
14- it will take care of using Ecore's main loop and video display is done using Evas.
15- '';
16- homepage = http://enlightenment.org/;
17- license = stdenv.lib.licenses.lgpl21;
18- };
19-}
···0000000000000000000
-32
pkgs/desktops/e17/enlightenment/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje, efreet, e_dbus
2-, embryo, eio, xcbutilkeysyms, libjpeg }:
3-stdenv.mkDerivation rec {
4- name = "enlightenment-${version}";
5- version = "0.17.1";
6- src = fetchurl {
7- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
8- sha256 = "1z2vx9r7yc55rs673jg7d685slgdv9dss45asg50wh5wxp2mfi3y";
9- };
10- buildInputs = [ pkgconfig eina eet ecore evas edje efreet e_dbus embryo
11- eio xcbutilkeysyms libjpeg ];
12- configureFlags = ''
13- --with-profile=FAST_PC
14- --disable-illume
15- --disable-illume2
16- '';
17- meta = {
18- description = "A window manager";
19- longDescription = ''
20- The Enlightenment Desktop shell provides an efficient yet
21- breathtaking window manager based on the Enlightenment
22- Foundation Libraries along with other essential desktop
23- components like a file manager, desktop icons and widgets.
24-25- It boasts a un-precedented level of theme-ability while still
26- being capable of performing on older hardware or embedded
27- devices.
28- '';
29- homepage = http://enlightenment.org/;
30- license = stdenv.lib.licenses.bsd2; # not sure
31- };
32-}
···00000000000000000000000000000000
-23
pkgs/desktops/e17/ethumb/default.nix
···1-{ stdenv, fetchurl, pkgconfig, eina, evas, ecore, edje, eet, e_dbus, emotion, libexif }:
2-stdenv.mkDerivation rec {
3- name = "ethumb-${version}";
4- version = "1.7.5";
5- src = fetchurl {
6- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
7- sha256 = "0prka3knz8p2n46dfrzgwn55khhhrhjny4vvnzkjcwmhvz7kgc9l";
8- };
9- buildInputs = [ pkgconfig eina evas ecore edje eet emotion libexif ];
10- propagatedBuildInputs = [ e_dbus libexif ];
11- meta = {
12- description = "A thumbnail generation library";
13- longDescription = ''
14- Ethumb - thumbnail generation library. Features:
15- * create thumbnails with a predefined frame (possibly an edje frame);
16- * have an option to create fdo-like thumbnails;
17- * have a client/server utility;
18- * TODO: make thumbnails from edje backgrounds, icons and themes;
19- '';
20- homepage = http://enlightenment.org/;
21- license = stdenv.lib.licenses.lgpl21;
22- };
23-}
···00000000000000000000000
-25
pkgs/desktops/e17/evas/default.nix
···1-{ stdenv, fetchurl, pkgconfig, freetype, fontconfig, libpng, libjpeg
2-, libX11, libXext, eina, eet }:
3-stdenv.mkDerivation rec {
4- name = "evas-${version}";
5- version = "1.7.5";
6- src = fetchurl {
7- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
8- sha256 = "0x3k89q2wxgxjsbhdf4qws7jgpjl7rpqji98ca3nf25jf2lm1cvh";
9- };
10- buildInputs = [ pkgconfig freetype fontconfig libpng libjpeg
11- libX11 libXext eina eet
12- ];
13- meta = {
14- description = "Enlightenment's canvas and scenegraph rendering library";
15- longDescription = ''
16- Enlightenment's Evas is a clean display canvas API that
17- implements a scene graph, not an immediate-mode rendering
18- target, is cross-platform, for several target display systems
19- that can draw anti-aliased text, smooth super and sub-sampled
20- scaled images, alpha-blend objects and much more.
21- '';
22- homepage = http://enlightenment.org/;
23- license = stdenv.lib.licenses.bsd2; # not sure
24- };
25-}