mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-06 05:13:37 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
129a56627f |
@@ -1 +0,0 @@
|
||||
import ./pkgs/top-level/all-packages.nix
|
||||
@@ -1,6 +1,3 @@
|
||||
# You may need to override this.
|
||||
docbookxsl = $(HOME)/.nix-profile/xml/xsl/docbook
|
||||
|
||||
XMLLINT = xmllint --catalogs
|
||||
XSLTPROC = xsltproc --catalogs \
|
||||
--param section.autolabel 1 \
|
||||
|
||||
@@ -5,207 +5,6 @@
|
||||
<title>Nixpkgs Release Notes</title>
|
||||
|
||||
|
||||
<section><title>Release 0.11 (September 11, 2007)</title>
|
||||
|
||||
<para>This release has the following improvements:
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
|
||||
<listitem><para>The standard build environment
|
||||
(<literal>stdenv</literal>) is now pure on the
|
||||
<literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
|
||||
platforms, just as on <literal>i686-linux</literal>. (Purity means
|
||||
that building and using the standard environment has no dependencies
|
||||
outside of the Nix store. For instance, it doesn’t require an
|
||||
external C compiler such as <filename>/usr/bin/gcc</filename>.)
|
||||
Also, the statically linked binaries used in the bootstrap process
|
||||
are now automatically reproducible, making it easy to update the
|
||||
bootstrap tools and to add support for other Linux platforms. See
|
||||
<filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
|
||||
details.</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>Hook variables in the generic builder are now
|
||||
executed using the <function>eval</function> shell command. This
|
||||
has a major advantage: you can write hooks directly in Nix
|
||||
expressions. For instance, rather than writing a builder like this:
|
||||
|
||||
<programlisting>
|
||||
source $stdenv/setup
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
ln -sf gzip $out/bin/gunzip
|
||||
ln -sf gzip $out/bin/zcat
|
||||
}
|
||||
|
||||
genericBuild</programlisting>
|
||||
|
||||
(the <literal>gzip</literal> builder), you can just add this
|
||||
attribute to the derivation:
|
||||
|
||||
<programlisting>
|
||||
postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";</programlisting>
|
||||
|
||||
and so a separate build script becomes unnecessary. This should
|
||||
allow us to get rid of most builders in Nixpkgs.</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>It is now possible to have the generic builder pass
|
||||
arguments to <command>configure</command> and
|
||||
<command>make</command> that contain whitespace. Previously, for
|
||||
example, you could say in a builder,
|
||||
|
||||
<programlisting>
|
||||
configureFlags="CFLAGS=-O0"</programlisting>
|
||||
|
||||
but not
|
||||
|
||||
<programlisting>
|
||||
configureFlags="CFLAGS=-O0 -g"</programlisting>
|
||||
|
||||
since the <literal>-g</literal> would be interpreted as a separate
|
||||
argument to <command>configure</command>. Now you can say
|
||||
|
||||
<programlisting>
|
||||
configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
|
||||
|
||||
or similarly
|
||||
|
||||
<programlisting>
|
||||
configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")</programlisting>
|
||||
|
||||
which does the right thing. Idem for <literal>makeFlags</literal>,
|
||||
<literal>installFlags</literal>, <literal>checkFlags</literal> and
|
||||
<literal>distFlags</literal>.</para>
|
||||
|
||||
<para>Unfortunately you can't pass arrays to Bash through the
|
||||
environment, so you can't put the array above in a Nix expression,
|
||||
e.g.,
|
||||
|
||||
<programlisting>
|
||||
configureFlagsArray = ["CFLAGS=-O0 -g"];</programlisting>
|
||||
|
||||
since it would just be flattened to a since string. However, you
|
||||
<emphasis>can</emphasis> use the inline hooks described above:
|
||||
|
||||
<programlisting>
|
||||
preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
|
||||
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>The function <function>fetchurl</function> now has
|
||||
support for two different kinds of mirroring of files. First, it
|
||||
has support for <emphasis>content-addressable mirrors</emphasis>.
|
||||
For example, given the <function>fetchurl</function> call
|
||||
|
||||
<programlisting>
|
||||
fetchurl {
|
||||
url = http://releases.mozilla.org/<replaceable>...</replaceable>/firefox-2.0.0.6-source.tar.bz2;
|
||||
sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
|
||||
}</programlisting>
|
||||
|
||||
<function>fetchurl</function> will first try to download this file
|
||||
from <link
|
||||
xlink:href="http://nix.cs.uu.nl/dist/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
|
||||
If that file doesn’t exist, it will try the original URL. In
|
||||
general, the “content-addressed” location is
|
||||
<replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
|
||||
There is currently only one content-addressable mirror (<link
|
||||
xlink:href="http://nix.cs.uu.nl/dist/tarballs"/>), but more can be
|
||||
specified in the <varname>hashedMirrors</varname> attribute in
|
||||
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
|
||||
setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
|
||||
to a whitespace-separated list of URLs.</para>
|
||||
|
||||
<para>Second, <function>fetchurl</function> has support for
|
||||
widely-mirrored distribution sites such as SourceForge or the Linux
|
||||
kernel archives. Given a URL of the form
|
||||
<literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
|
||||
it will try to download <replaceable>path</replaceable> from a
|
||||
configurable list of mirrors for <replaceable>site</replaceable>.
|
||||
(This idea was borrowed from Gentoo Linux.) Example:
|
||||
<programlisting>
|
||||
fetchurl {
|
||||
url = mirror://gnu/gcc/gcc-4.2.0/gcc-core-4.2.0.tar.bz2;
|
||||
sha256 = "0ykhzxhr8857dr97z0j9wyybfz1kjr71xk457cfapfw5fjas4ny1";
|
||||
}</programlisting>
|
||||
Currently <replaceable>site</replaceable> can be
|
||||
<literal>sourceforge</literal>, <literal>gnu</literal> and
|
||||
<literal>kernel</literal>. The list of mirrors is defined in
|
||||
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You
|
||||
can override the list of mirrors for a particular site by setting
|
||||
the environment variable
|
||||
<envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
|
||||
<programlisting>
|
||||
export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
|
||||
<listitem><para>Important updates:
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>Glibc 2.5.</para></listitem>
|
||||
|
||||
<listitem><para>GCC 4.1.2.</para></listitem>
|
||||
|
||||
<listitem><para>Gnome 2.16.3.</para></listitem>
|
||||
|
||||
<listitem><para>X11R7.2.</para></listitem>
|
||||
|
||||
<listitem><para>Linux 2.6.21.7 and 2.6.22.6.</para></listitem>
|
||||
|
||||
<listitem><para>Emacs 22.1.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>Major new packages:
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>KDE 3.5.6 Base.</para></listitem>
|
||||
|
||||
<listitem><para>Wine 0.9.43.</para></listitem>
|
||||
|
||||
<listitem><para>OpenOffice 2.2.1.</para></listitem>
|
||||
|
||||
<listitem><para>Many Linux system packages to support
|
||||
NixOS.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</para>
|
||||
|
||||
<para>The following people contributed to this release:
|
||||
|
||||
Andres Löh,
|
||||
Arie Middelkoop,
|
||||
Armijn Hemel,
|
||||
Eelco Dolstra,
|
||||
Marc Weber,
|
||||
Mart Kolthof,
|
||||
Martin Bravenboer,
|
||||
Michael Raskin,
|
||||
Wouter den Breejen and
|
||||
Yury G. Kudryashov.
|
||||
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>Release 0.10 (October 12, 2006)</title>
|
||||
|
||||
<note><para>This release of Nixpkgs requires <link
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
*** All these bugs should be moved to JIRA (if they still exist) ***
|
||||
|
||||
|
||||
* If NIX_DEBUG is turned on (set to "1"), autoconf configure scripts
|
||||
may fail to find the correct preprocessor:
|
||||
|
||||
@@ -37,6 +34,22 @@ include/X11/IntrinsicP.h:202:25: X11/ObjectP.h: No such file or directory
|
||||
(moved to include/X11; should edit include/Makefile.am)
|
||||
|
||||
|
||||
* `ld' on Mac OS X barfs if the timestamp on static libraries has
|
||||
changed (which happens if they are installed through a substitute).
|
||||
|
||||
Typical error:
|
||||
|
||||
/usr/bin/ld: table of contents for archive: libATerm.a is out of
|
||||
date; rerun ranlib(1) (can't load from it)
|
||||
|
||||
Solution: patch ld.
|
||||
|
||||
Non-solution: extend NAR file format to include timestamps. We
|
||||
don't want that because they introduce a source of non-determinism.
|
||||
To catch problems like this one determistically, we should change
|
||||
the timestamp on store objects to 0.
|
||||
|
||||
|
||||
* In gtksourceview-sharp: does the prefix patch cause problems (e.g.,
|
||||
makefile.am says "mimeinfodir should be the same as the gnome
|
||||
prefix")?
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
directories for libraries (like setup.sh does now). [do we want
|
||||
this?]
|
||||
|
||||
* In setup.sh: add configureFlagsArray or something
|
||||
|
||||
* Inform freedesktop people that Xaw requires Xpm.
|
||||
|
||||
* After building gcc, filter out references to /tmp/nix... in
|
||||
@@ -10,3 +12,5 @@
|
||||
* Add gettext to glib propagatedBuildInputs? Glib's `gi18n.h' doesn't
|
||||
seem to like Glibc `libintl.h'; needs the gettext one instead.
|
||||
[Move from libbonoboui]
|
||||
|
||||
* Fix the bzip2 build generically.
|
||||
@@ -1,74 +1,37 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
distDir=/data/webserver/dist/tarballs
|
||||
|
||||
find "$1" -name "*.nix" | while read fn; do
|
||||
find . -name "*.nix" | while read fn; do
|
||||
|
||||
grep -E '^ *url = ' "$fn" | while read line; do
|
||||
|
||||
if url=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
|
||||
if oldURL=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
|
||||
|
||||
if ! echo "$url" | grep -q -E "www.cs.uu.nl|nix.cs.uu.nl|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then
|
||||
base="$(basename "$url")"
|
||||
newPath="$distDir/$base"
|
||||
if ! echo "$oldURL" | grep -q -E "www.cs.uu.nl|nix.cs.uu.nl|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then
|
||||
base=$(basename $oldURL)
|
||||
newURL="http://nix.cs.uu.nl/dist/tarballs/$base"
|
||||
newPath="/data/webserver/dist/tarballs/$base"
|
||||
echo "$fn: $oldURL -> $newURL"
|
||||
|
||||
isSafe=1
|
||||
|
||||
if test -e "$newPath"; then
|
||||
|
||||
#echo "$fn: checking hash of existing $newPath"
|
||||
hash=$(fgrep -A 1 "$url" "$fn" | grep md5 | sed 's^.*md5 = \"\(.*\)\";.*^\1^')
|
||||
hashType=md5
|
||||
if test -z "$hash"; then
|
||||
hash=$(fgrep -A 1 "$url" "$fn" | grep sha256 | sed 's^.*sha256 = \"\(.*\)\";.*^\1^')
|
||||
hashType="sha256 --base32"
|
||||
if test -n "$hash"; then
|
||||
if test "${#hash}" = 64; then
|
||||
hash=$(nix-hash --to-base32 --type sha256 $hash)
|
||||
fi
|
||||
else
|
||||
hash=$(fgrep -A 1 "$url" "$fn" | grep sha1 | sed 's^.*sha1 = \"\(.*\)\";.*^\1^')
|
||||
hashType="sha1"
|
||||
if test -z "$hash"; then
|
||||
echo "WARNING: $fn: cannot figure out the hash for $url"
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
hash=$(fgrep -A 1 "$oldURL" "$fn" | grep md5 | sed 's^.*md5 = \"\(.*\)\";.*^\1^')
|
||||
echo "HASH = $hash"
|
||||
if ! test "$(nix-hash --type md5 --flat "$newPath")" = "$hash"; then
|
||||
echo "WARNING: $newPath exists and differs!"
|
||||
isSafe=
|
||||
fi
|
||||
#echo "HASH = $hash"
|
||||
if ! test "$(nix-hash --type $hashType --flat "$newPath")" = "$hash"; then
|
||||
echo "WARNING: $fn: $newPath exists and differs, hash should be $hash!"
|
||||
continue
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
if echo $url | grep -q 'mirror://'; then
|
||||
#echo "$fn: skipping mirrored $url"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "$fn: $url -> $newPath"
|
||||
|
||||
if test -n "$doCopy"; then
|
||||
if ! curl --disable-epsv --fail --location --max-redirs 20 --remote-time \
|
||||
"$url" --output "$newPath".tmp; then
|
||||
continue
|
||||
fi
|
||||
mv -f "$newPath".tmp "$newPath"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if test -n "$doCopy" -a -e "$newPath"; then
|
||||
if test -n "$doMove" -a -n "$isSafe"; then
|
||||
|
||||
md5=$(nix-hash --flat --type md5 "$newPath")
|
||||
ln -sfn "../$base" $distDir/md5/$md5
|
||||
if ! test -e "$newPath"; then
|
||||
curl --disable-epsv --fail --location --max-redirs 20 "$oldURL" > "$newPath".tmp
|
||||
mv -f "$newPath".tmp "$newPath"
|
||||
fi
|
||||
|
||||
sha1=$(nix-hash --flat --type sha1 "$newPath")
|
||||
ln -sfn "../$base" $distDir/sha1/$sha1
|
||||
|
||||
sha256=$(nix-hash --flat --type sha256 "$newPath")
|
||||
ln -sfn "../$base" $distDir/sha256/$sha256
|
||||
ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
|
||||
sed "s^$oldURL^$newURL^" < "$fn" > "$fn".tmp
|
||||
mv -f "$fn".tmp "$fn"
|
||||
|
||||
fi
|
||||
|
||||
@@ -78,6 +41,4 @@ find "$1" -name "*.nix" | while read fn; do
|
||||
|
||||
done
|
||||
|
||||
done
|
||||
|
||||
echo DONE
|
||||
done
|
||||
@@ -61,7 +61,7 @@ rules
|
||||
<map({x', x'', x''', xs', starts, starts': \[x | xs] -> [x''' | xs']
|
||||
where
|
||||
<remove-section-start> x => (x', starts);
|
||||
<map(regularise-empty-lines); if !starts; debug; sortable-section; debug then qsort(compare-attrs) else id end> [x' | xs] => [x'' | xs'];
|
||||
<map(regularise-empty-lines); qsort(compare-attrs)> [x' | xs] => [x'' | xs'];
|
||||
<[] <+ \x -> ["\n\n\n" | x]\ > starts => starts';
|
||||
<prepend-layout> (starts', x'') => x'''
|
||||
\ })> groups => attrs';
|
||||
@@ -79,12 +79,9 @@ strategies
|
||||
<implode-string; is-substring(!"###")> cs;
|
||||
!x
|
||||
|
||||
rules
|
||||
|
||||
|
||||
sortable-section = ?[s]; !s; explode-string; not(fetch({x: ?x; !(x, 97); geq}))
|
||||
|
||||
|
||||
rules
|
||||
|
||||
remove-section-start:
|
||||
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr) ->
|
||||
((appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs'), attr), starts)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "GStreamer-0.10.10";
|
||||
src = fetchurl {
|
||||
url = http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.10.tar.bz2;
|
||||
md5 = "6875bf0bd3cf38b9ae1362b9e644e6fc";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gstreamer-0.10.10.tar.bz2;
|
||||
md5 = "6875bf0bd3cf38b9ae1362b9e644e6fc" ;
|
||||
};
|
||||
|
||||
buildInputs = [perl bison flex glib pkgconfig libxml2];
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl, pkgconfig, bmp, libmpcdec, taglib}:
|
||||
{stdenv, fetchurl, pkgconfig, bmp, glib, gtk, libmpcdec, taglib}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bmp-plugin-musepack-1.2";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://files2.musepack.net/linux/plugins/bmp-musepack-1.2.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bmp-musepack-1.2.tar.bz2;
|
||||
md5 = "5fe0c9d341ca37d05c780a478f829a5f";
|
||||
};
|
||||
buildInputs = [pkgconfig bmp libmpcdec taglib];
|
||||
buildInputs = [pkgconfig bmp glib gtk libmpcdec taglib];
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
buildFlags="-f Makefile.bmp"
|
||||
|
||||
installPhase=installPhase
|
||||
installPhase() {
|
||||
ensureDir "$out/lib/bmp/Input"
|
||||
cp libwma.so "$out/lib/bmp/Input"
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -1,11 +0,0 @@
|
||||
{stdenv, fetchurl, pkgconfig, bmp}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bmp-plugin-wma-1.0.5";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://mcmcc.bat.ru/xmms-wma/xmms-wma-1.0.5.tar.bz2;
|
||||
md5 = "5d62a0f969617aeb40096362c7a8a506";
|
||||
};
|
||||
buildInputs = [pkgconfig bmp];
|
||||
}
|
||||
@@ -5,17 +5,16 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "bmp-0.9.7.1";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/beepmp/bmp-0.9.7.1.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bmp-0.9.7.1.tar.gz;
|
||||
md5 = "c25d5a8d49cc5851d13d525a20023c4c";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig alsaLib esound libogg libvorbis id3lib libglade
|
||||
pkgconfig alsaLib esound libogg libvorbis id3lib
|
||||
glib gtk libglade
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Beep Media Player, an XMMS fork";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [glib gtk];
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "cdparanoia-III-alpha9.8";
|
||||
src = fetchurl {
|
||||
url = http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-alpha9.8.src.tgz;
|
||||
md5 = "7218e778b5970a86c958e597f952f193";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/cdparanoia-III-alpha9.8.src.tgz;
|
||||
md5 = "7218e778b5970a86c958e597f952f193" ;
|
||||
};
|
||||
|
||||
patches = [./fix.patch];
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "flac-1.1.2";
|
||||
src = fetchurl {
|
||||
url = http://downloads.xiph.org/releases/flac/flac-1.1.2.tar.gz;
|
||||
md5 = "2bfc127cdda02834d0491ab531a20960";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/flac-1.1.2.tar.gz;
|
||||
md5 = "2bfc127cdda02834d0491ab531a20960" ;
|
||||
};
|
||||
|
||||
buildInputs = [libogg] ;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "lame-3.96.1";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/lame/lame-3.96.1.tar.gz ;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/lame-3.96.1.tar.gz;
|
||||
md5 = "e1206c46a5e276feca11a7149e2fc6ac" ;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
{stdenv, fetchurl, x11, libjpeg, libpng, libXmu, freetype, pam}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "slim-1.2.6";
|
||||
src = fetchurl {
|
||||
url = http://download.berlios.de/slim/slim-1.2.6.tar.gz;
|
||||
sha256 = "0plcmm955rnv67sx67ka6dccanr4rfzwzvsj6lnr8kqdip4522jg";
|
||||
};
|
||||
patches = [
|
||||
# Allow the paths of the configuration file and theme directory to
|
||||
# be set at runtime.
|
||||
./runtime-paths.patch
|
||||
# PAM support from
|
||||
# http://developer.berlios.de/patch/?func=detailpatch&patch_id=1979&group_id=2663
|
||||
./pam.patch
|
||||
];
|
||||
buildInputs = [x11 libjpeg libpng libXmu freetype pam];
|
||||
NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
|
||||
preBuild = "
|
||||
substituteInPlace Makefile --replace /usr /no-such-path
|
||||
makeFlagsArray=(CC=gcc CXX=g++ PREFIX=$out MANDIR=$out/share/man CFGDIR=$out/etc)
|
||||
";
|
||||
}
|
||||
@@ -1,369 +0,0 @@
|
||||
diff -rc slim-1.2.6-orig/app.cpp slim-1.2.6/app.cpp
|
||||
*** slim-1.2.6-orig/app.cpp 2006-09-15 23:00:37.000000000 +0200
|
||||
--- slim-1.2.6/app.cpp 2007-06-05 12:45:58.000000000 +0200
|
||||
***************
|
||||
*** 25,30 ****
|
||||
--- 25,68 ----
|
||||
#include "app.h"
|
||||
#include "numlock.h"
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ #include <security/pam_appl.h>
|
||||
+ #include <security/pam_misc.h>
|
||||
+ #include <string>
|
||||
+
|
||||
+ pam_handle_t* pamh;
|
||||
+ char const* PAM_service = "slim"; // <----- Change this, if the patch gets accepted upstream
|
||||
+ string password;
|
||||
+
|
||||
+ int conv(int num_msg, const struct pam_message **msg,
|
||||
+ struct pam_response **resp, void *appdata_ptr){
|
||||
+ *resp = (struct pam_response *) calloc(num_msg, sizeof(struct pam_response));
|
||||
+ for (int i=0; i<num_msg; i++){
|
||||
+ resp[i]->resp_retcode=0;
|
||||
+ switch(msg[i]->msg_style){
|
||||
+ case PAM_PROMPT_ECHO_ON:
|
||||
+ // We assume PAM is asking for the username
|
||||
+ // As we should have given that already, this should never happen
|
||||
+ cerr << APPNAME << ": PAM send an unexpected PAM_PROMPT_ECHO_ON" << endl;
|
||||
+ cerr << APPNAME << ": " << msg[i]->msg << endl;
|
||||
+ break;
|
||||
+
|
||||
+ case PAM_PROMPT_ECHO_OFF:
|
||||
+ // We assume PAM is asking for the password
|
||||
+ resp[i]->resp=x_strdup(password.c_str());
|
||||
+ break;
|
||||
+
|
||||
+ case PAM_ERROR_MSG:
|
||||
+ case PAM_TEXT_INFO:
|
||||
+ // We simply right these to the log
|
||||
+ // TODO: Maybe we should simply ignore them
|
||||
+ cerr << APPNAME << ": " << msg[i]->msg << endl;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ return PAM_SUCCESS;
|
||||
+ }
|
||||
+ #endif
|
||||
|
||||
extern App* LoginApp;
|
||||
|
||||
***************
|
||||
*** 133,138 ****
|
||||
--- 171,209 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ struct pam_conv pam_conversation = {
|
||||
+ conv,
|
||||
+ NULL
|
||||
+ };
|
||||
+
|
||||
+ // Start the PAM session
|
||||
+ if ((last_result=pam_start(PAM_service, NULL, &pam_conversation, &pamh))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+
|
||||
+ // Setup some PAM items
|
||||
+ if ((last_result=pam_set_item(pamh, PAM_TTY, DisplayName))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+ char* pam_ruser = "root\0"; // <---- We already checked for this in the constructor
|
||||
+ if ((last_result=pam_set_item(pamh, PAM_RUSER, pam_ruser))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+ char* pam_rhost = "localhost\0"; // <---- This might not entirely correct
|
||||
+ if ((last_result=pam_set_item(pamh, PAM_RHOST, pam_rhost))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
bool loaded = false;
|
||||
while (!loaded) {
|
||||
themedir = themebase + themeName;
|
||||
***************
|
||||
*** 313,318 ****
|
||||
--- 384,421 ----
|
||||
struct passwd *pw;
|
||||
pid_t pid;
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ switch ((last_result=pam_setcred(pamh, PAM_ESTABLISH_CRED | PAM_SILENT))){
|
||||
+ case PAM_SUCCESS:
|
||||
+ // Credentials was established successfully
|
||||
+ break;
|
||||
+
|
||||
+ case PAM_CRED_ERR:
|
||||
+ case PAM_CRED_EXPIRED:
|
||||
+ case PAM_CRED_UNAVAIL:
|
||||
+ case PAM_USER_UNKNOWN:
|
||||
+ // Credentials couldn't be established
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ return;
|
||||
+
|
||||
+ case PAM_BUF_ERR:
|
||||
+ case PAM_SYSTEM_ERR:
|
||||
+ default:
|
||||
+ // System error -> bail out!
|
||||
+ last_result=pam_setcred(pamh, PAM_DELETE_CRED);
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+
|
||||
+ if ((last_result=pam_open_session(pamh, PAM_SILENT))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_setcred(pamh, PAM_DELETE_CRED);
|
||||
+ // TODO: Do we need more serious actions?
|
||||
+ return;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
pw = LoginPanel->GetInput()->GetPasswdStruct();
|
||||
if(pw == 0)
|
||||
return;
|
||||
***************
|
||||
*** 320,325 ****
|
||||
--- 423,433 ----
|
||||
// Create new process
|
||||
pid = fork();
|
||||
if(pid == 0) {
|
||||
+ #ifdef USE_PAM
|
||||
+ // Close the child's copy of the PAM-handle
|
||||
+ pam_end(pamh, PAM_SUCCESS | PAM_DATA_SILENT);
|
||||
+ #endif
|
||||
+
|
||||
// Login process starts here
|
||||
SwitchUser Su(pw, cfg, DisplayName);
|
||||
string session = LoginPanel->getSession();
|
||||
***************
|
||||
*** 355,361 ****
|
||||
}
|
||||
}
|
||||
|
||||
! // Close all clients
|
||||
KillAllClients(False);
|
||||
KillAllClients(True);
|
||||
|
||||
--- 463,477 ----
|
||||
}
|
||||
}
|
||||
|
||||
! #ifdef USE_PAM
|
||||
! if ((last_result=pam_close_session(pamh, PAM_SILENT))!=PAM_SUCCESS){
|
||||
! cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
! last_result=pam_setcred(pamh, PAM_DELETE_CRED);
|
||||
! // TODO: Do we need more serious actions?
|
||||
! }
|
||||
! #endif
|
||||
!
|
||||
! // Close all clients
|
||||
KillAllClients(False);
|
||||
KillAllClients(True);
|
||||
|
||||
***************
|
||||
*** 382,387 ****
|
||||
--- 498,510 ----
|
||||
// Stop alarm clock
|
||||
alarm(0);
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ if ((last_result=pam_end(pamh, PAM_SUCCESS))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
// Write message
|
||||
LoginPanel->Message((char*)cfg->getOption("reboot_msg").c_str());
|
||||
sleep(3);
|
||||
***************
|
||||
*** 398,403 ****
|
||||
--- 521,533 ----
|
||||
// Stop alarm clock
|
||||
alarm(0);
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ if ((last_result=pam_end(pamh, PAM_SUCCESS))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
// Write message
|
||||
LoginPanel->Message((char*)cfg->getOption("shutdown_msg").c_str());
|
||||
sleep(3);
|
||||
***************
|
||||
*** 433,438 ****
|
||||
--- 563,575 ----
|
||||
|
||||
|
||||
void App::Exit() {
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ if ((last_result=pam_end(pamh, PAM_SUCCESS))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
if (testing) {
|
||||
char* testmsg = "This is a test message :-)";
|
||||
LoginPanel->Message(testmsg);
|
||||
***************
|
||||
*** 453,458 ****
|
||||
--- 590,602 ----
|
||||
}
|
||||
|
||||
void App::RestartServer() {
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ if ((last_result=pam_end(pamh, PAM_SUCCESS))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
StopServer();
|
||||
RemoveLock();
|
||||
Run();
|
||||
Only in slim-1.2.6/: app.cpp~
|
||||
diff -rc slim-1.2.6-orig/input.cpp slim-1.2.6/input.cpp
|
||||
*** slim-1.2.6-orig/input.cpp 2006-09-15 23:00:37.000000000 +0200
|
||||
--- slim-1.2.6/input.cpp 2007-06-05 12:45:58.000000000 +0200
|
||||
***************
|
||||
*** 12,17 ****
|
||||
--- 12,25 ----
|
||||
#include "input.h"
|
||||
#include <cstdlib>
|
||||
|
||||
+ #ifdef USE_PAM
|
||||
+ #include <security/pam_appl.h>
|
||||
+ #include <string>
|
||||
+
|
||||
+ extern pam_handle_t* pamh;
|
||||
+ extern string password;
|
||||
+ #endif
|
||||
+
|
||||
Input::Input(Cfg* c) {
|
||||
NameBuffer[0] = '\0';
|
||||
PasswdBuffer[0] = '\0';
|
||||
***************
|
||||
*** 100,106 ****
|
||||
--- 108,126 ----
|
||||
|
||||
|
||||
struct passwd* Input::GetPasswdStruct() {
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+ char* username=NULL;
|
||||
+
|
||||
+ if ((last_result=pam_get_item(pamh, PAM_USER, (const void**)&username))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+ struct passwd* pw = getpwnam(username);
|
||||
+ #else
|
||||
struct passwd* pw = getpwnam(NameBuffer);
|
||||
+ #endif
|
||||
endpwent();
|
||||
if (pw->pw_shell[0] == '\0') {
|
||||
setusershell();
|
||||
***************
|
||||
*** 183,188 ****
|
||||
--- 203,240 ----
|
||||
}
|
||||
|
||||
int Input::Correct() {
|
||||
+ #ifdef USE_PAM
|
||||
+ int last_result;
|
||||
+
|
||||
+ // Store the password in global variables accessible
|
||||
+ // by the PAM-conversation function
|
||||
+ password=PasswdBuffer;
|
||||
+
|
||||
+ // Set the username in PAM
|
||||
+ if ((last_result=pam_set_item(pamh, PAM_USER, NameBuffer))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+
|
||||
+ // Authenticate the user
|
||||
+ if ((last_result=pam_authenticate(pamh, PAM_DISALLOW_NULL_AUTHTOK))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ if (last_result==PAM_ABORT){
|
||||
+ pam_end(pamh, last_result);
|
||||
+ exit(ERR_EXIT);
|
||||
+ }
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ // Check the health of the account
|
||||
+ if ((last_result=pam_acct_mgmt(pamh, PAM_SILENT))!=PAM_SUCCESS){
|
||||
+ cerr << APPNAME << ": " << pam_strerror(pamh, last_result) << endl;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+ #else
|
||||
char *unencrypted, *encrypted, *correct;
|
||||
struct passwd *pw;
|
||||
|
||||
***************
|
||||
*** 197,203 ****
|
||||
if(sp)
|
||||
correct = sp->sp_pwdp;
|
||||
else
|
||||
! #endif
|
||||
correct = pw->pw_passwd;
|
||||
|
||||
if(correct == 0 || correct[0] == '\0')
|
||||
--- 249,255 ----
|
||||
if(sp)
|
||||
correct = sp->sp_pwdp;
|
||||
else
|
||||
! #endif /* HAVE_SHADOW */
|
||||
correct = pw->pw_passwd;
|
||||
|
||||
if(correct == 0 || correct[0] == '\0')
|
||||
***************
|
||||
*** 207,212 ****
|
||||
--- 259,265 ----
|
||||
encrypted = crypt(unencrypted, correct);
|
||||
memset(unencrypted, 0, strlen (unencrypted));
|
||||
return (strcmp(encrypted, correct) == 0);
|
||||
+ #endif /* USE_PAM */
|
||||
}
|
||||
|
||||
|
||||
diff -rc slim-1.2.6-orig/Makefile slim-1.2.6/Makefile
|
||||
*** slim-1.2.6-orig/Makefile 2006-09-15 23:00:37.000000000 +0200
|
||||
--- slim-1.2.6/Makefile 2007-06-05 12:45:58.000000000 +0200
|
||||
***************
|
||||
*** 6,13 ****
|
||||
CXX=/usr/bin/g++
|
||||
CC=/usr/bin/gcc
|
||||
CFLAGS=-I. -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
|
||||
! LDFLAGS=-L/usr/X11R6/lib -lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg
|
||||
! CUSTOM=-DHAVE_SHADOW
|
||||
PREFIX=/usr
|
||||
CFGDIR=/etc
|
||||
MANDIR=/usr/man
|
||||
--- 6,13 ----
|
||||
CXX=/usr/bin/g++
|
||||
CC=/usr/bin/gcc
|
||||
CFLAGS=-I. -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
|
||||
! LDFLAGS=-L/usr/X11R6/lib -lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lpam
|
||||
! CUSTOM=-DHAVE_SHADOW -DUSE_PAM
|
||||
PREFIX=/usr
|
||||
CFGDIR=/etc
|
||||
MANDIR=/usr/man
|
||||
@@ -1,41 +0,0 @@
|
||||
diff -rc slim-1.2.6-orig/app.cpp slim-1.2.6/app.cpp
|
||||
*** slim-1.2.6-orig/app.cpp Fri Sep 15 23:00:37 2006
|
||||
--- slim-1.2.6/app.cpp Sun Feb 25 17:30:50 2007
|
||||
***************
|
||||
*** 113,119 ****
|
||||
|
||||
// Read configuration and theme
|
||||
cfg = new Cfg;
|
||||
! cfg->readConf(CFGFILE);
|
||||
string themebase = "";
|
||||
string themefile = "";
|
||||
string themedir = "";
|
||||
--- 113,121 ----
|
||||
|
||||
// Read configuration and theme
|
||||
cfg = new Cfg;
|
||||
! char *cfgfile = getenv("SLIM_CFGFILE");
|
||||
! if (!cfgfile) cfgfile = CFGFILE;
|
||||
! cfg->readConf(cfgfile);
|
||||
string themebase = "";
|
||||
string themefile = "";
|
||||
string themedir = "";
|
||||
***************
|
||||
*** 121,127 ****
|
||||
if (testing) {
|
||||
themeName = testtheme;
|
||||
} else {
|
||||
! themebase = string(THEMESDIR) + "/";
|
||||
themeName = cfg->getOption("current_theme");
|
||||
string::size_type pos;
|
||||
if ((pos = themeName.find(",")) != string::npos) {
|
||||
--- 123,131 ----
|
||||
if (testing) {
|
||||
themeName = testtheme;
|
||||
} else {
|
||||
! char *themesdir = getenv("SLIM_THEMESDIR");
|
||||
! if (!themesdir) themesdir = THEMESDIR;
|
||||
! themebase = string(themesdir) + "/";
|
||||
themeName = cfg->getOption("current_theme");
|
||||
string::size_type pos;
|
||||
if ((pos = themeName.find(",")) != string::npos) {
|
||||
@@ -5,15 +5,27 @@ unpackFile $src
|
||||
ensureDir $out
|
||||
mv eclipse $out/
|
||||
|
||||
# Unpack the jars that contain .so files.
|
||||
#echo "unpacking some jars..."
|
||||
#for i in $(find $out -name "*.linux*.jar"); do
|
||||
# echo $i
|
||||
# cd $(dirname $i) && $jdk/bin/jar -x < $i
|
||||
# rm $i
|
||||
#done
|
||||
|
||||
# Set the dynamic linker and RPATH.
|
||||
rpath=
|
||||
for i in $libraries; do
|
||||
rpath=$rpath${rpath:+:}$i/lib
|
||||
done
|
||||
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
|
||||
find $out \( -type f -a -perm +0100 \) \
|
||||
-print \
|
||||
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
-exec patchelf --interpreter $glibc/lib/ld-linux.so.* \
|
||||
--set-rpath "$rpath" {} \;
|
||||
#find $out \( -type f -a -name "*.so*" \) \
|
||||
# -print \
|
||||
# -exec patchelf --set-rpath "$rpath" {} \;
|
||||
|
||||
# Make a wrapper script so that the proper JDK is found.
|
||||
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||
|
||||
@@ -1,20 +1 @@
|
||||
{fetchurl, stdenv, makeWrapper, jdk, gtk, glib, libXtst, plugins ? []}:
|
||||
|
||||
let {
|
||||
body =
|
||||
stdenv.mkDerivation {
|
||||
name = "eclipse-sdk-3.2.2";
|
||||
builder = ./builder.sh;
|
||||
src = bindist;
|
||||
inherit makeWrapper jdk plugins;
|
||||
libraries = [gtk glib libXtst];
|
||||
};
|
||||
|
||||
bindist =
|
||||
fetchurl {
|
||||
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops/R-3.2.2-200702121330/eclipse-SDK-3.2.2-linux-gtk.tar.gz;
|
||||
sha256 = "0slrx8l75k91v8hqr2rvh6x0a2xdplza8gm1dc39bhyaq2gx9sdx";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
import ./eclipse-sdk-3.1.2.nix
|
||||
@@ -12,7 +12,7 @@ let {
|
||||
|
||||
bindist =
|
||||
fetchurl {
|
||||
url = http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-linux-gtk.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/eclipse-SDK-3.1-linux-gtk.tar.gz;
|
||||
md5 = "0441c11cc5af1e84ed3be322929899e8";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
fetchurl {
|
||||
url = http://www.ii.uib.no/~karltk/spoofax/plugins/org.spoofax.editor_0.3.0.jar;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.0.jar;
|
||||
md5 = "ff66d229c774f840ec8285f64c0f95bc";
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
fetchurl {
|
||||
url = http://www.ii.uib.no/~karltk/spoofax/plugins/org.spoofax.editor_0.3.11.jar;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.11.jar;
|
||||
md5 = "c36941afcb0e538e16fafd594eae128e";
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
source $stdenv/setup
|
||||
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-libc`
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-glibc`
|
||||
echo "glibc: $myglibc"
|
||||
|
||||
postConfigure() {
|
||||
@@ -3,7 +3,7 @@
|
||||
, xaw3dSupport ? false
|
||||
, gtkGUI ? false
|
||||
, xftSupport ? false
|
||||
, stdenv, fetchurl, ncurses, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
, pkgconfig ? null, gtk ? null, libXft ? null, libpng ? null
|
||||
}:
|
||||
|
||||
@@ -14,31 +14,21 @@ assert gtkGUI -> pkgconfig != null && gtk != null;
|
||||
assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "emacs-23.0.0.1-pre20070127";
|
||||
name = "emacs-22.0.50-pre-xft";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/emacs-snapshot_20070127.orig.tar.gz;
|
||||
sha256 = "1p5ds3sjxx6izzmfq4k3wkvklm8yw7spanl7zgl16s7cln3m7hv2";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/emacs-22.0.50-pre-xft.tar.bz2;
|
||||
md5 = "4f96ada6f18513aeb70adc27b7ac862f";
|
||||
};
|
||||
patches = [
|
||||
./crt.patch
|
||||
# From Debian: use --enable-font-backend by default.
|
||||
./xft-default.patch
|
||||
];
|
||||
patches = [./crt.patch];
|
||||
buildInputs = [
|
||||
ncurses x11
|
||||
x11
|
||||
(if xawSupport then libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
(if xaw3dSupport then Xaw3d else null)
|
||||
]
|
||||
++ (if gtkGUI then [pkgconfig gtk] else [])
|
||||
++ (if xftSupport then [libXft libpng] else []);
|
||||
configureFlags = "
|
||||
${if gtkGUI then "--with-gtk --enable-font-backend --with-xft" else ""}
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "Emacs with Unicode, GTK and Xft support (23.x alpha)";
|
||||
homepage = http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs;
|
||||
};
|
||||
configureFlags =
|
||||
if gtkGUI then ["--with-x-toolkit=gtk" "--with-xft"] else [];
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
source $stdenv/setup
|
||||
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-libc`
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-glibc`
|
||||
echo "glibc: $myglibc"
|
||||
|
||||
postConfigure() {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
, gtkGUI ? false
|
||||
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
, pkgconfig ? null, gtk ? null
|
||||
, ncurses
|
||||
}:
|
||||
|
||||
assert xawSupport && !xaw3dSupport -> libXaw != null;
|
||||
@@ -13,15 +12,15 @@ assert xpmSupport -> libXpm != null;
|
||||
assert gtkGUI -> pkgconfig != null && gtk != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "emacs-22.1";
|
||||
name = "emacs-22.0.50-pre20051207";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = mirror://gnu/emacs/emacs-22.1.tar.gz;
|
||||
sha256 = "1l1y3il98pq3cz464p244wz2d3nga5lq8fkw5pwp5r97f7pkpi0y";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/emacs-22.0.50-pre20051207.tar.bz2;
|
||||
md5 = "011d40367015691e4319ddc65b4e7843";
|
||||
};
|
||||
patches = [./crt.patch];
|
||||
buildInputs = [
|
||||
ncurses x11
|
||||
x11
|
||||
(if xawSupport then if xaw3dSupport then Xaw3d else libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
] ++ (if gtkGUI then [pkgconfig gtk] else []);
|
||||
|
||||
4
pkgs/applications/editors/emacs-22/modes/cua/builder.sh
Normal file
4
pkgs/applications/editors/emacs-22/modes/cua/builder.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
cp $src $out/emacs/site-lisp/cua.el
|
||||
8
pkgs/applications/editors/emacs-22/modes/cua/default.nix
Normal file
8
pkgs/applications/editors/emacs-22/modes/cua/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "cua-mode-2.10";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/cua-mode-2.10.el;
|
||||
md5 = "5bf5e43f5f38c8383868c7c6c5baca09";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
tar zxvf $src
|
||||
cp haskell-mode*/*.el $out/emacs/site-lisp
|
||||
cp haskell-mode*/*.hs $out/emacs/site-lisp
|
||||
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "haskell-mode-1.45";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/haskell-mode-1.45.tar.gz;
|
||||
md5 = "c609998580cdb9ca8888c7d47d22ca3b";
|
||||
};
|
||||
}
|
||||
7
pkgs/applications/editors/emacs-22/modes/nxml/builder.sh
Normal file
7
pkgs/applications/editors/emacs-22/modes/nxml/builder.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
cd $out/emacs/site-lisp
|
||||
tar xvfz $src
|
||||
mv nxml-mode-*/* .
|
||||
rmdir nxml-mode-*
|
||||
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "nxml-mode-20041004";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nxml-mode-20041004.tar.gz;
|
||||
md5 = "ac137024cf337d6f11d8ab278d39b4db";
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-libc`
|
||||
echo "glibc: $myglibc"
|
||||
|
||||
postConfigure=postConfigure
|
||||
postConfigure() {
|
||||
cp $myglibc/lib/crt1.o src
|
||||
cp $myglibc/lib/crti.o src
|
||||
cp $myglibc/lib/crtn.o src
|
||||
|
||||
for i in Makefile ./src/Makefile ./lib-src/Makefile ./leim/Makefile ./admin/unidata/Makefile; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -1,39 +0,0 @@
|
||||
diff -rc emacs-snapshot-20070127-orig/src/emacs.c emacs-snapshot-20070127/src/emacs.c
|
||||
*** emacs-snapshot-20070127-orig/src/emacs.c Sun Jan 28 02:08:54 2007
|
||||
--- emacs-snapshot-20070127/src/emacs.c Mon Feb 5 15:35:26 2007
|
||||
***************
|
||||
*** 1408,1417 ****
|
||||
= argmatch (argv, argc, "-nl", "--no-loadup", 6, NULL, &skip_args);
|
||||
|
||||
#ifdef USE_FONT_BACKEND
|
||||
! enable_font_backend = 0;
|
||||
if (argmatch (argv, argc, "-enable-font-backend", "--enable-font-backend",
|
||||
4, NULL, &skip_args))
|
||||
enable_font_backend = 1;
|
||||
#endif /* USE_FONT_BACKEND */
|
||||
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
--- 1408,1420 ----
|
||||
= argmatch (argv, argc, "-nl", "--no-loadup", 6, NULL, &skip_args);
|
||||
|
||||
#ifdef USE_FONT_BACKEND
|
||||
! enable_font_backend = 1;
|
||||
if (argmatch (argv, argc, "-enable-font-backend", "--enable-font-backend",
|
||||
4, NULL, &skip_args))
|
||||
enable_font_backend = 1;
|
||||
+ if (argmatch (argv, argc, "-disable-font-backend", "--disable-font-backend",
|
||||
+ 4, NULL, &skip_args))
|
||||
+ enable_font_backend = 0;
|
||||
#endif /* USE_FONT_BACKEND */
|
||||
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
***************
|
||||
*** 1817,1822 ****
|
||||
--- 1820,1826 ----
|
||||
{ "-no-multibyte", "--no-multibyte", 80, 0 },
|
||||
{ "-nl", "--no-loadup", 70, 0 },
|
||||
{ "-enable-font-backend", "--enable-font-backend", 65, 0 },
|
||||
+ { "-disable-font-backend", "--disable-font-backend", 64, 0 },
|
||||
/* -d must come last before the options handled in startup.el. */
|
||||
{ "-d", "--display", 60, 1 },
|
||||
{ "-display", 0, 60, 1 },
|
||||
13
pkgs/applications/editors/emacs/builder.sh
Normal file
13
pkgs/applications/editors/emacs/builder.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
source $stdenv/setup
|
||||
|
||||
myglibc=`cat ${NIX_GCC}/nix-support/orig-glibc`
|
||||
echo "glibc: $myglibc"
|
||||
|
||||
postConfigure() {
|
||||
cp $myglibc/lib/crt1.o src
|
||||
cp $myglibc/lib/crti.o src
|
||||
cp $myglibc/lib/crtn.o src
|
||||
}
|
||||
postConfigure=postConfigure
|
||||
|
||||
genericBuild
|
||||
@@ -1,7 +1,7 @@
|
||||
{ xawSupport ? true
|
||||
, xpmSupport ? true
|
||||
, xaw3dSupport ? false
|
||||
, stdenv, fetchurl, ncurses, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
}:
|
||||
|
||||
assert xawSupport && !xaw3dSupport -> libXaw != null;
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
|
||||
};
|
||||
patches = [./crt.patch];
|
||||
buildInputs = [
|
||||
ncurses x11
|
||||
x11
|
||||
(if xawSupport then if xaw3dSupport then Xaw3d else libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
];
|
||||
4
pkgs/applications/editors/emacs/modes/cua/builder.sh
Normal file
4
pkgs/applications/editors/emacs/modes/cua/builder.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
cp $src $out/emacs/site-lisp/cua.el
|
||||
8
pkgs/applications/editors/emacs/modes/cua/default.nix
Normal file
8
pkgs/applications/editors/emacs/modes/cua/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "cua-mode-2.10";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/cua-mode-2.10.el;
|
||||
md5 = "5bf5e43f5f38c8383868c7c6c5baca09";
|
||||
};
|
||||
}
|
||||
6
pkgs/applications/editors/emacs/modes/haskell/builder.sh
Normal file
6
pkgs/applications/editors/emacs/modes/haskell/builder.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
tar zxvf $src
|
||||
cp haskell-mode*/*.el $out/emacs/site-lisp
|
||||
cp haskell-mode*/*.hs $out/emacs/site-lisp
|
||||
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "haskell-mode-1.45";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/haskell-mode-1.45.tar.gz;
|
||||
md5 = "c609998580cdb9ca8888c7d47d22ca3b";
|
||||
};
|
||||
}
|
||||
7
pkgs/applications/editors/emacs/modes/nxml/builder.sh
Normal file
7
pkgs/applications/editors/emacs/modes/nxml/builder.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -p $out/emacs/site-lisp
|
||||
cd $out/emacs/site-lisp
|
||||
tar xvfz $src
|
||||
mv nxml-mode-*/* .
|
||||
rmdir nxml-mode-*
|
||||
8
pkgs/applications/editors/emacs/modes/nxml/default.nix
Normal file
8
pkgs/applications/editors/emacs/modes/nxml/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "nxml-mode-20041004";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nxml-mode-20041004.tar.gz;
|
||||
md5 = "ac137024cf337d6f11d8ab278d39b4db";
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "joe-3.3";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/joe-editor/joe-3.3.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/joe-3.3.tar.gz;
|
||||
md5 = "02221716679c039c5da00c275d61dbf4";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{stdenv, fetchurl, ncurses, gettext}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nano-2.0.6";
|
||||
name = "nano-1.2.5";
|
||||
src = fetchurl {
|
||||
url = mirror://gnu/nano/nano-2.0.6.tar.gz;
|
||||
sha256 = "0p2xfs4jzj7dvp208qdrxij7x8gbwxgnrdm7zafgpbbg1bvxh40d";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nano-1.2.5.tar.gz;
|
||||
md5 = "f2b3efbf1cf356d736740d531b6b22c4";
|
||||
};
|
||||
buildInputs = [ncurses gettext];
|
||||
configureFlags = "--enable-tiny";
|
||||
|
||||
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nl.nedit.org/ftp/v5_5/nedit-5.5-src.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nedit-5.5-src.tar.bz2;
|
||||
md5 = "48cb3dce52d44988f3a4d7c6f47b6bbe";
|
||||
};
|
||||
patches = [./dynamic.patch];
|
||||
@@ -15,5 +15,5 @@ stdenv.mkDerivation {
|
||||
inherit motif;
|
||||
buildInputs = [x11 motif libXpm];
|
||||
|
||||
buildFlags = if stdenv.system == "i686-linux" then "linux" else "";
|
||||
makeFlags = if stdenv.system == "i686-linux" then "linux" else "";
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "vim-7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
|
||||
md5 = "4ca69757678272f718b1041c810d82d8";
|
||||
};
|
||||
|
||||
|
||||
9
pkgs/applications/editors/vim/builder.sh
Normal file
9
pkgs/applications/editors/vim/builder.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
source $stdenv/setup
|
||||
|
||||
postInstall=postInstall
|
||||
|
||||
postInstall() {
|
||||
ln -s $out/bin/vim $out/bin/vi
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -1,48 +1,16 @@
|
||||
args:
|
||||
let
|
||||
defList = [];
|
||||
#stdenv and fetchurl are added automatically
|
||||
getVal = (args.lib.getValue args defList);
|
||||
check = args.lib.checkFlag args;
|
||||
reqsList = [
|
||||
["gtkGUI" "glib" "gtk" "pkgconfig" "libXpm" "libXext" "x11Support"]
|
||||
["athenaGUI" "libXau" "libXt" "libXaw" "libXpm" "libXext" "x11Support"]
|
||||
["x11Support" "libX11"]
|
||||
["hugeFeatures"]
|
||||
["true" "ncurses"]
|
||||
["false" "libSM"]
|
||||
];
|
||||
nameSuffixes = [
|
||||
"hugeFeatures" "-huge"
|
||||
"x11Support" "-X11"
|
||||
];
|
||||
configFlags = [
|
||||
"true" " --disable-xim "
|
||||
"x11Support" " --enable-gui=auto "
|
||||
"hugeFeatures" "--with-features=huge --enable-cscope --enable-multibyte --enable-xsmp"
|
||||
];
|
||||
buildInputsNames = args.lib.filter (x: (null!=getVal x))
|
||||
(args.lib.uniqList {inputList =
|
||||
(args.lib.concatLists (map
|
||||
(x:(if (x==[]) then [] else builtins.tail x))
|
||||
reqsList));});
|
||||
in
|
||||
assert args.lib.checkReqs args defList reqsList;
|
||||
args.stdenv.mkDerivation {
|
||||
name = args.lib.condConcat "vim-7.1" nameSuffixes check;
|
||||
{stdenv, fetchurl, ncurses}:
|
||||
|
||||
src = args.fetchurl {
|
||||
url = ftp://ftp.nluug.nl/pub/editors/vim/unix/vim-7.1.tar.bz2;
|
||||
sha256 = "0w6gy49gdbw7hby5rjkjpa7cdvc0z5iajsm4j1h8108rvfam22kz";
|
||||
stdenv.mkDerivation {
|
||||
name = "vim-7.0";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
|
||||
md5 = "4ca69757678272f718b1041c810d82d8";
|
||||
};
|
||||
|
||||
inherit (args) ncurses;
|
||||
|
||||
buildInputs = args.lib.filter (x: (x!=null)) (map getVal buildInputsNames);
|
||||
|
||||
postInstall = "ln -s $out/bin/vim $out/bin/vi";
|
||||
preBuild="touch src/auto/link.sed";
|
||||
configureFlags = args.lib.condConcat "" configFlags check;
|
||||
inherit ncurses;
|
||||
buildInputs = [ncurses];
|
||||
|
||||
meta = {
|
||||
description = "The most popular clone of the VI editor";
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
{stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript,
|
||||
libjpeg, libpng, libtiff, libX11, libxml2, zlib}:
|
||||
stdenv.mkDerivation {
|
||||
name = "ImageMagick-6.3.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.5-5.tar.bz2;
|
||||
sha256 = "0avq6kllxw552krxgsa72c1b44zwyhwi38dk4a4ij3fqy0svy9zh";
|
||||
};
|
||||
|
||||
configureFlags = " --with-dots --with-gs-font-dir="+ ghostscript +
|
||||
"/share/ghostscript/fonts --with-gslib ";
|
||||
|
||||
buildInputs = [bzip2 freetype ghostscript graphviz libjpeg libpng
|
||||
libtiff libX11 libxml2 zlib ];
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{stdenv, fetchurl, python, boost, pkgconfig, imagemagick}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "PythonMagick-0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.imagemagick.org/download/python/PythonMagick-0.7.tar.gz;
|
||||
sha256 = "1553kyzdcysii2qhbpbgs0icmfpm6s2lp3zchgs73cxfnfym8lz1";
|
||||
};
|
||||
|
||||
buildInputs = [python boost pkgconfig imagemagick];
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{stdenv, fetchurl, gtk, pkgconfig, glib, perl, perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl, libxslt }:
|
||||
stdenv.mkDerivation {
|
||||
name = "dia-0.96";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://ftp.gnome.org.nyud.net:8080/pub/gnome/sources/dia/0.96/dia-0.96.1.tar.bz2;
|
||||
md5 = "7b81b22baa2df55efe4845865dddc7b6";
|
||||
};
|
||||
|
||||
buildInputs = [gtk glib perl pkgconfig perlXMLParser libxml2 gettext python libxml2Python docbook5 libxslt docbook_xsl];
|
||||
|
||||
meta = {
|
||||
description = "Gnome Diagram drawing software.";
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{stdenv, fetchurl, x11, imlib2, libjpeg, libpng}:
|
||||
|
||||
let
|
||||
|
||||
giblib = stdenv.mkDerivation {
|
||||
name = "giblib-1.2.4";
|
||||
src = fetchurl {
|
||||
url = http://linuxbrit.co.uk/downloads/giblib-1.2.4.tar.gz;
|
||||
sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
|
||||
};
|
||||
buildInputs = [x11 imlib2];
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "feh-1.3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://linuxbrit.co.uk/downloads/feh-1.3.4.tar.gz;
|
||||
sha256 = "091iz2id5z80vn2qxg0ipwncv5bv8i9ifw2q15ja9zazq6xz5fc1";
|
||||
};
|
||||
|
||||
buildInputs = [x11 imlib2 giblib libjpeg libpng];
|
||||
|
||||
meta = {
|
||||
description = "A light-weight image viewer";
|
||||
homepage = http://linuxbrit.co.uk/feh/;
|
||||
};
|
||||
}
|
||||
@@ -1,29 +1,17 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, freetype
|
||||
{stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, glib, pango, atk, freetype
|
||||
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
|
||||
, perlXMLParser, python, pygtk, gettext, xlibs
|
||||
}:
|
||||
, perlXMLParser, python, pygtk, gettext}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gimp-2.4.0-rc1";
|
||||
name = "gimp-2.3.10";
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.gtk.org/pub/gimp/v2.4/testing/gimp-2.4.0-rc1.tar.bz2;
|
||||
sha256 = "0n9gfmmxjjhi4dpdfwc37z8n4zsyx6byil1ig27agjgic22bydm1";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gimp-2.3.10.tar.bz2;
|
||||
md5 = "a46acb413484300583ffca1fa54e0874" ;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk libgtkhtml freetype fontconfig
|
||||
libart_lgpl libtiff libjpeg libpng libexif zlib perl
|
||||
perlXMLParser python pygtk gettext
|
||||
];
|
||||
buildInputs = [ pkgconfig gtk libgtkhtml glib pango atk freetype fontconfig
|
||||
libart_lgpl libtiff libjpeg libpng libexif zlib perl
|
||||
perlXMLParser python pygtk gettext ] ;
|
||||
|
||||
configureFlags = [ "--disable-print" ];
|
||||
|
||||
# "screenshot" needs this.
|
||||
NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib";
|
||||
|
||||
meta = {
|
||||
description = "The GNU Image Manipulation Program";
|
||||
homepage = http://www.gimp.org/;
|
||||
license = "GPL";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,11 +6,11 @@ assert pkgconfig != null && gtk != null && libpng != null;
|
||||
# !!! assert libpng == gtk.libpng;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gqview-2.1.5";
|
||||
name = "gqview-2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/gqview/gqview-2.1.5.tar.gz;
|
||||
md5 = "4644187d9b14b1dc11ac3bb146f262ea";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gqview-2.1.1.tar.gz;
|
||||
md5 = "2cd110305cfe4c530fcd6e34bb52e1f2";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig gtk libpng];
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
name = "inkscape-0.43";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/inkscape/inkscape-0.43.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/inkscape-0.43.tar.bz2;
|
||||
md5 = "97c606182f5e177eef70c1e8a55efc1f";
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/kuickshow/kuickshow-0.8.5.tgz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/kuickshow-0.8.5.tgz;
|
||||
md5 = "7a95852a0670b18859a1e6789b256ebd";
|
||||
};
|
||||
|
||||
|
||||
9
pkgs/applications/graphics/xara/builder.sh
Normal file
9
pkgs/applications/graphics/xara/builder.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
. $stdenv/setup
|
||||
|
||||
preConfigure() {
|
||||
autoreconf -i
|
||||
}
|
||||
|
||||
preConfigure=preConfigure
|
||||
|
||||
genericBuild
|
||||
@@ -1,15 +1,13 @@
|
||||
{stdenv, fetchurl, autoconf, automake, gettext, libtool, cvs, wxGTK, gtk,
|
||||
pkgconfig, libxml2, zip, libpng, libjpeg}:
|
||||
{stdenv, fetchurl, autoconf, automake, gettext, libtool, cvs, wxGTK, gtk, pkgconfig, libxml2, zip, libpng, libjpeg}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xaralx-0.7r1766";
|
||||
name = "xaralx-0.5r1405";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://downloads2.xara.com/opensource/XaraLX-0.7r1766.tar.bz2;
|
||||
sha256 = "1rcl7hqvcai586jky7hvzxhnq8q0ka2rsmgiq5ijwclgr5d4ah7n";
|
||||
url = http://downloads2.xara.com/opensource/XaraLX-0.5r1405.tar.bz2;
|
||||
md5 = "1b087819e4b10b21da8c267ed56a45a4";
|
||||
};
|
||||
|
||||
buildInputs = [automake autoconf gettext libtool cvs wxGTK gtk pkgconfig libxml2 zip libpng libjpeg];
|
||||
configureFlags = "--with-wx-config --disable-svnversion --disable-international";
|
||||
|
||||
patches = [./gtk_cflags.patch];
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
diff -rc XaraLX-0.7r1766/Makefile.in XaraLX-0.7r1766.new/Makefile.in
|
||||
*** XaraLX-0.7r1766/Makefile.in 2007-01-31 13:43:04.000000000 +0100
|
||||
--- XaraLX-0.7r1766.new/Makefile.in 2007-05-15 00:19:36.000000000 +0200
|
||||
***************
|
||||
*** 256,262 ****
|
||||
@DARWIN_LINK_TRUE@XaraLX_SOURCES = Kernel/*.o wxOil/*.o tools/*.o wxXtra/*.o
|
||||
@DARWIN_LINK_FALSE@XaraLX_LDSOURCE = -Wl,--start-group $(XaraLX_SOURCES) -Wl,--end-group
|
||||
@DARWIN_LINK_TRUE@XaraLX_LDSOURCE = $(XaraLX_SOURCES)
|
||||
! XaraLX_LDFLAGS = --debug -L$(srcdir)/$(CDRAW_LIB_DIR) $(WX_LIBS) $(LIBS) $(LIBXML2_LIBS) -lCDraw
|
||||
UNZIP = unzip
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
all: all-recursive
|
||||
--- 256,262 ----
|
||||
@DARWIN_LINK_TRUE@XaraLX_SOURCES = Kernel/*.o wxOil/*.o tools/*.o wxXtra/*.o
|
||||
@DARWIN_LINK_FALSE@XaraLX_LDSOURCE = -Wl,--start-group $(XaraLX_SOURCES) -Wl,--end-group
|
||||
@DARWIN_LINK_TRUE@XaraLX_LDSOURCE = $(XaraLX_SOURCES)
|
||||
! XaraLX_LDFLAGS = --debug -L$(srcdir)/$(CDRAW_LIB_DIR) $(GTK_LIBS) $(WX_LIBS) $(LIBS) $(LIBXML2_LIBS) -lCDraw
|
||||
UNZIP = unzip
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
all: all-recursive
|
||||
@@ -1,25 +0,0 @@
|
||||
source $stdenv/setup
|
||||
source $makeWrapper
|
||||
|
||||
makeFlags="XAWLIB=-lXaw3d BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults LIBDIR=$out/lib/X11 XFIGDOCDIR=$out/share/doc/xfig MANPATH=$out/man"
|
||||
|
||||
preBuild=preBuild
|
||||
preBuild() {
|
||||
echo "#define XAW3D" >> Imakefile.tmp
|
||||
echo "#define XAW3D1_5E" >> Imakefile.tmp
|
||||
cat Imakefile >> Imakefile.tmp
|
||||
mv Imakefile.tmp Imakefile
|
||||
xmkmf
|
||||
}
|
||||
|
||||
installCommand=myInstall
|
||||
myInstall() {
|
||||
make install.all $makeFlags
|
||||
|
||||
mv $out/bin/xfig $out/bin/.xfig
|
||||
|
||||
makeWrapper $out/bin/.xfig $out/bin/xfig \
|
||||
--set XAPPLRESDIR $out/etc/X11/app-defaults
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -1,23 +0,0 @@
|
||||
{ stdenv, fetchurl, makeWrapper, imake
|
||||
, x11, libXpm, libXmu, libXi, libXp, Xaw3d, libpng, libjpeg}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xfig-3.2.5-pre-alpha-5";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://xfig.org/software/xfig/3.2.5-alpha/xfig.3.2.5-alpha5.full.tar.gz;
|
||||
md5 = "7547b66232569e3c12e4a0639bd92629";
|
||||
};
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
buildInputs = [imake x11 libXpm libXmu libXi libXp Xaw3d libpng libjpeg];
|
||||
|
||||
inherit makeWrapper;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${libXpm}/include/X11";
|
||||
|
||||
meta = {
|
||||
description = "An interactive drawing tool for X11";
|
||||
};
|
||||
}
|
||||
@@ -17,13 +17,13 @@ if test -n "$fastStart"; then
|
||||
rm -v $(ls $out/Reader/intellinux/plug_ins/*.api | grep -v SearchFind)
|
||||
fi
|
||||
|
||||
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
|
||||
|
||||
fullPath=
|
||||
for i in $libPath; do
|
||||
fullPath=$fullPath${fullPath:+:}$i/lib
|
||||
done
|
||||
|
||||
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
patchelf --interpreter $glibc/lib/ld-linux.so.* \
|
||||
--set-rpath $fullPath \
|
||||
$out/Reader/intellinux/bin/acroread
|
||||
|
||||
substituteInPlace $out/bin/acroread --replace /lib:/usr/lib /no-such-path --replace /bin/pwd pwd
|
||||
|
||||
@@ -4,14 +4,12 @@
|
||||
, fastStart ? false
|
||||
}:
|
||||
|
||||
assert stdenv.system == "i686-linux";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "acrobat-reader-7.0.9";
|
||||
name = "acrobat-reader-7.0.1";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://ardownload.adobe.com/pub/adobe/reader/unix/7x/7.0.9/enu/AdobeReader_enu-7.0.9-1.i386.tar.gz;
|
||||
sha256 = "0qs8v57gamkk243f44yqxic93izf0bn2d9l4wwbqqy1jv5s125hy";
|
||||
url = http://ardownload.adobe.com/pub/adobe/reader/unix/7x/7.0/enu/AdbeRdr701_linux_enu.tar.gz;
|
||||
md5 = "79e5a40aca6b49f7015cb1694876f87a";
|
||||
};
|
||||
libPath = [
|
||||
libXt libXp libXext libX11 glib pango atk gtk libstdcpp5 zlib
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "bluez-firmware-1.1";
|
||||
src = fetchurl {
|
||||
url = http://bluez.sf.net/download/bluez-firmware-1.1.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bluez-firmware-1.1.tar.gz;
|
||||
md5 = "2f1c2d939108c865dd07bae3e819c573";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "bluez-utils-2.25";
|
||||
src = fetchurl {
|
||||
url = http://bluez.sf.net/download/bluez-utils-2.25.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bluez-utils-2.25.tar.gz;
|
||||
md5 = "ae3729ab5592be06ed01b973d4b3e9fe";
|
||||
};
|
||||
buildInputs = [bluezLibs];
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
{stdenv, fetchurl, cmake, libcap, zlib}:
|
||||
stdenv.mkDerivation {
|
||||
name = "cdrkit-1.1.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://cdrkit.org/releases/cdrkit-1.1.6.tar.gz;
|
||||
sha256 = "0xb1zqq4s3ylfyzb09s1gpxqr5prhrnpsyycb585ds5p51ymx54r";
|
||||
};
|
||||
|
||||
buildInputs = [cmake libcap zlib];
|
||||
|
||||
makeFlags = "PREFIX=\$(out)";
|
||||
|
||||
meta = {
|
||||
description = "
|
||||
CD and DVD writing kit, mostly compatible with cdrtools.
|
||||
";
|
||||
};
|
||||
}
|
||||
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "cdrtools-2.01";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.01.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/cdrtools-2.01.tar.bz2;
|
||||
md5 = "d44a81460e97ae02931c31188fe8d3fd";
|
||||
};
|
||||
patches = [./cdrtools-2.01-install.patch];
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
args:
|
||||
args.stdenv.mkDerivation {
|
||||
name = "d4x-2.5.7.1";
|
||||
|
||||
inherit (args) boost;
|
||||
|
||||
src = args.fetchurl {
|
||||
url = http://d4x.krasu.ru/files/d4x-2.5.7.1.tar.bz2;
|
||||
sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
|
||||
};
|
||||
|
||||
configurePhase = "./configure --prefix=\$out "
|
||||
+ " --with-boost-libdir=\$boost/lib"
|
||||
+ " --with-boost-includedir=\$boost/include";
|
||||
buildInputs =(with args; [gtk glib pkgconfig openssl boost]);
|
||||
|
||||
meta = {
|
||||
description = "graphical download manager";
|
||||
homepage = http://www.krasu.ru/soft/chuchelo/;
|
||||
license = "Artistic";
|
||||
};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{stdenv, fetchurl,
|
||||
qt, libX11, libjpeg, libtiff, libpng, ghostscript, zlib, libungif,
|
||||
x11, mesa
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "djvulibre-3.5.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/djvu/djvulibre-3.5.19.tar.gz;
|
||||
sha256 = "0y6d9ka42llm7h64fc73s4wqcbxg31kallyfaarhkqsxyiaa3zsp";
|
||||
};
|
||||
|
||||
buildInputs = [qt libX11 libjpeg libtiff libpng ghostscript zlib libungif
|
||||
x11 mesa];
|
||||
|
||||
meta = {
|
||||
description = "
|
||||
DjVu libre - a library and a viewer for djvu format - compression for
|
||||
scanned images.
|
||||
";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
args: with args; stdenv.mkDerivation {
|
||||
name="fetchmail-6.3.8";
|
||||
src = fetchurl {
|
||||
url = http://download.berlios.de/fetchmail/fetchmail-6.3.8.tar.bz2;
|
||||
sha256 = "5612f9af367f641e0efd084f44fcf1889669e711dbd8c60f6b7953e494d1b09b";
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "gphoto2-2.2.0";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/gphoto/gphoto2-2.2.0.tar.bz2;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gphoto2-2.2.0.tar.bz2;
|
||||
md5 = "f5c1f83185db598b4ca52889964a5e84";
|
||||
};
|
||||
buildInputs = [pkgconfig libgphoto2 libexif popt];
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
{ stdenv, fetchurl, Xaw3d, ghostscriptX }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gv-3.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://ftp.gnu.org/gnu/gv/gv-3.6.3.tar.gz;
|
||||
sha256 = "9486c25675719e986cbd77b48204025e825c46258b6750deeb64b3940685a033";
|
||||
};
|
||||
|
||||
buildInputs = [ Xaw3d ghostscriptX ];
|
||||
|
||||
postConfigure = [ "sed 's|\\<gs\\>|${ghostscriptX}/bin/gs|g' -i src/*.am src/*.ad" ];
|
||||
|
||||
inherit ghostscriptX;
|
||||
}
|
||||
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "hello-2.1.1";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = mirror://gnu/hello/hello-2.1.1.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/hello-2.1.1.tar.gz;
|
||||
md5 = "70c9ccf9fac07f762c24f2df2290784d";
|
||||
};
|
||||
inherit perl;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "hello-2.1.1";
|
||||
src = fetchurl {
|
||||
url = mirror://gnu/hello/hello-2.1.1.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/hello-2.1.1.tar.gz;
|
||||
md5 = "70c9ccf9fac07f762c24f2df2290784d";
|
||||
};
|
||||
buildInputs = [perl];
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
args: with args.lib; with args;
|
||||
|
||||
let
|
||||
co = chooseOptionsByFlags {
|
||||
inherit args;
|
||||
flagDescr = {
|
||||
mandatory = { buildInputs = [ "libX11" ]; cfgOption = "--with-x"; };
|
||||
# many options to add here ... :)
|
||||
# many of them can be set by configuration file I think..
|
||||
};
|
||||
};
|
||||
|
||||
in args.stdenv.mkDerivation {
|
||||
|
||||
inherit (co) buildInputs configureFlags;
|
||||
|
||||
src = args.fetchurl {
|
||||
url = mirror://sourceforge/materm/mrxvt-0.5.3.tar.gz;
|
||||
sha256 = "04flnn58hp4qvvk6jzyipsj13v1qyrjabgbw5laz5cqxvxzpncp2";
|
||||
};
|
||||
|
||||
name = "mrxvt-0.5.3";
|
||||
|
||||
meta = {
|
||||
description = "multitabbed lightweight terminal emulator basd on rxvt supporting transparency, backgroundimages, freetype fonts,..";
|
||||
homepage = http://sourceforge.net/projects/materm;
|
||||
license = "GPL";
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "pinfo-0.6.8";
|
||||
src = fetchurl {
|
||||
url = http://dione.cc/~pborys/software/pinfo/pinfo-0.6.8.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/pinfo-0.6.8.tar.gz;
|
||||
md5 = "55feb4ebaa709b52bd00a15ed0fb52fb";
|
||||
};
|
||||
buildInputs = [ncurses];
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
args: with args; stdenv.mkDerivation {
|
||||
name="procmail-3.22";
|
||||
buildInputs = [stdenv.gcc.libc];
|
||||
installPhase = "
|
||||
ensureDir \$out/bin
|
||||
find . -exec sed -e \"s%^RM[ \\t]*=%RM=`type -f rm | awk '{print $3;}'`%\" -i '{}' ';'
|
||||
sed -e 's%\\(LDFLAGS = \$(LDFLAGS1) -lnsl -ldl -lc\\)%\\1 -m%' -i src/Makefile
|
||||
sed -e \"s%^BASENAME.*%\BASENAME=$out%\" -i Makefile
|
||||
make DESTDIR=\$out install
|
||||
";
|
||||
phases ="installPhase";
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/procmail-3.22.tar.gz;
|
||||
sha256 = "05z1c803n5cppkcq99vkyd5myff904lf9sdgynfqngfk9nrpaz08";
|
||||
};
|
||||
o=62;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
args:
|
||||
args.stdenv.mkDerivation {
|
||||
name = "pstree-2.31";
|
||||
|
||||
src = args.fetchurl {
|
||||
url = http://fresh.t-systems-sfr.com/unix/src/misc/pstree-2.31.tar.gz;
|
||||
sha256 = "1zzz29gsyra8csk54cyq0pcdxxg3l4gmksq8q1skv2z84g2yxdhh";
|
||||
};
|
||||
|
||||
unpackPhase="unpackFile \$src; sourceRoot=.";
|
||||
#buildInputs =(with args; []);
|
||||
|
||||
buildPhase="pwd; gcc -o pstree pstree.c";
|
||||
installPhase="ensureDir \$out/bin; cp pstree \$out/bin";
|
||||
|
||||
meta = {
|
||||
description = "show the running processes as tree";
|
||||
# don't know the correct homepage..
|
||||
homepage = http://fresh.t-systems-sfr.com/unix/src/misc/pstree-2.31.tar.gz;
|
||||
license = "GPL";
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
args:
|
||||
args.stdenv.mkDerivation {
|
||||
name = "rxvt-2.6.4";
|
||||
|
||||
src = args.fetchurl {
|
||||
url = http://downloads.sourceforge.net/rxvt/rxvt-2.6.4.tar.gz;
|
||||
sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg";
|
||||
};
|
||||
|
||||
buildInputs =(with args; [ libX11 libXt ]);
|
||||
|
||||
meta = {
|
||||
description = "colour vt102 terminal emulator with less features and lower memory consumption";
|
||||
homepage = http://www.rxvt.org/;
|
||||
license = "GPL";
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "xchm-1.9";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/xchm/xchm-1.9.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xchm-1.9.tar.gz;
|
||||
md5 = "12e1faf49447c743c5c936636cd8a172";
|
||||
};
|
||||
buildInputs = [wxGTK chmlib];
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{stdenv, fetchurl, libX11, libXi, imake, xauth, libXau}:
|
||||
stdenv.mkDerivation {
|
||||
name = "xmove-2.0b2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://ftp.debian.org/debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz;
|
||||
sha256 = "0q310k3bi39vdk0kqqvsahnb1k6lx9hlx80iyxnkq59l6jxnhyhf";
|
||||
};
|
||||
|
||||
buildPhase = "cd xmove; cp ../man/man1/xmove.1 xmove.man ; xmkmf; make; cd .. ; cd xmovectrl ; cp ../man/man1/xmovectrl.1 xmovectrl.man; xmkmf; make ; cd ..";
|
||||
installPhase = "cd xmove; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd .. ; cd xmovectrl ; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd ..";
|
||||
|
||||
buildInputs = [libX11 libXi imake xauth libXau];
|
||||
}
|
||||
|
||||
@@ -7,11 +7,11 @@ assert enablePDFtoPPM -> freetype != null;
|
||||
assert useT1Lib -> t1lib != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xpdf-3.02";
|
||||
name = "xpdf-3.01";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz;
|
||||
sha256 = "000zq4ddbwyxiki4vdwpmxbnw5n9hsg9hvwra2p33hslyib7sfmk";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xpdf-3.01.tar.gz;
|
||||
md5 = "e004c69c7dddef165d768b1362b44268";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -24,4 +24,6 @@ stdenv.mkDerivation {
|
||||
"--with-freetype2-library=${freetype}/lib"
|
||||
"--with-freetype2-includes=${freetype}/include/freetype2"
|
||||
] else []);
|
||||
|
||||
patches = [./xpdf-3.01pl2.patch];
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "xterm-208";
|
||||
src = fetchurl {
|
||||
url = ftp://invisible-island.net/xterm/xterm.tar.gz;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xterm.tar.gz;
|
||||
md5 = "a062d0b398918015d07c31ecdcc5111a";
|
||||
};
|
||||
buildInputs = [libXaw xproto libXt libX11 libSM libICE ncurses];
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{stdenv, fetchurl, python, perl, ncurses, x11, zlib, openssl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "elinks-0.11.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://elinks.or.cz/download/elinks-0.11.3.tar.bz2;
|
||||
sha256 = "c10e657fbd884eae4f01b91b32407bbfcbcae0ad5017fb24ea365aebc71d2af1";
|
||||
};
|
||||
|
||||
buildInputs = [ python perl ncurses x11 zlib openssl ];
|
||||
configureFlags = "--with-perl --with-python";
|
||||
|
||||
meta = {
|
||||
description = "Full-Featured Text WWW Browser";
|
||||
homepage = http://elinks.or.cz;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/networking/browsers/firefox-2.0/builder.sh
Normal file
30
pkgs/applications/networking/browsers/firefox-2.0/builder.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
source $stdenv/setup
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
|
||||
# Strip some more stuff
|
||||
strip -S $out/lib/*/* || true
|
||||
|
||||
# This fixes starting Firefox when there already is a running
|
||||
# instance. The `firefox' wrapper script actually expects to be
|
||||
# in the same directory as `run-mozilla.sh', apparently.
|
||||
libDir=$(cd $out/lib && ls -d firefox-*)
|
||||
test -n "$libDir"
|
||||
cd $out/bin
|
||||
mv firefox ../lib/$libDir/
|
||||
ln -s ../lib/$libDir/firefox .
|
||||
|
||||
# Register extensions etc.
|
||||
echo "running firefox -register..."
|
||||
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
|
||||
|
||||
echo "running regxpcom..."
|
||||
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
|
||||
|
||||
# Put the Firefox icon in the right place.
|
||||
ensureDir $out/lib/$libDir/chrome/icons/default
|
||||
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -0,0 +1,49 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
|
||||
, libjpeg, libpng, zlib, cairo
|
||||
|
||||
, # If you want the resulting program to call itself "Firefox" instead
|
||||
# of "Deer Park", enable this option. However, those binaries may
|
||||
# not be distributed without permission from the Mozilla Foundation,
|
||||
# see http://www.mozilla.org/foundation/trademarks/.
|
||||
enableOfficialBranding ? false
|
||||
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "firefox-2.0-pre-rc1";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/firefox-2.0rc1-source.tar.bz2;
|
||||
sha1 = "0f6bcab71becb4fb92900fc900b20301434f4e00";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
|
||||
];
|
||||
|
||||
patches = [./writable-copies.patch];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-application=browser"
|
||||
"--enable-optimize"
|
||||
"--disable-debug"
|
||||
"--enable-xft"
|
||||
"--disable-freetype2"
|
||||
"--enable-svg"
|
||||
"--enable-canvas"
|
||||
"--enable-strip"
|
||||
"--enable-default-toolkit=gtk2"
|
||||
"--with-system-jpeg"
|
||||
"--with-system-png"
|
||||
"--with-system-zlib"
|
||||
"--enable-system-cairo"
|
||||
]
|
||||
++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
|
||||
|
||||
meta = {
|
||||
description = "Mozilla Firefox - the browser, reloaded";
|
||||
};
|
||||
|
||||
passthru = {inherit gtk;};
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
diff -rc mozilla-orig/xpcom/io/nsLocalFileUnix.cpp mozilla/xpcom/io/nsLocalFileUnix.cpp
|
||||
*** mozilla-orig/xpcom/io/nsLocalFileUnix.cpp 2004-04-03 01:48:18.000000000 +0200
|
||||
--- mozilla/xpcom/io/nsLocalFileUnix.cpp 2004-10-05 19:48:04.000000000 +0200
|
||||
***************
|
||||
*** 634,639 ****
|
||||
--- 634,640 ----
|
||||
// get the dirs old permissions
|
||||
if (NS_FAILED(rv = GetPermissions(&oldPerms)))
|
||||
return rv;
|
||||
+ oldPerms |= 0200;
|
||||
if (NS_FAILED(rv = newParent->Create(DIRECTORY_TYPE, oldPerms)))
|
||||
return rv;
|
||||
} else { // dir exists lets try to use leaf
|
||||
***************
|
||||
*** 758,763 ****
|
||||
--- 759,765 ----
|
||||
// get the old permissions
|
||||
PRUint32 myPerms;
|
||||
GetPermissions(&myPerms);
|
||||
+ myPerms |= 0200;
|
||||
|
||||
// Create the new file with the old file's permissions, even if write
|
||||
// permission is missing. We can't create with write permission and
|
||||
@@ -1,7 +1,7 @@
|
||||
{stdenv, firefox, plugins}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = firefox.name + "-with-plugins";
|
||||
name = firefox.name;
|
||||
|
||||
builder = ./builder.sh;
|
||||
makeWrapper = ../../../../build-support/make-wrapper/make-wrapper.sh;
|
||||
|
||||
@@ -6,11 +6,6 @@ postInstall() {
|
||||
# Strip some more stuff
|
||||
strip -S $out/lib/*/* || true
|
||||
|
||||
# Fix some references to /bin paths in the Firefox shell script.
|
||||
substituteInPlace $out/bin/firefox \
|
||||
--replace /bin/pwd "$(type -tP pwd)" \
|
||||
--replace /bin/ls "$(type -tP ls)"
|
||||
|
||||
# This fixes starting Firefox when there already is a running
|
||||
# instance. The `firefox' wrapper script actually expects to be
|
||||
# in the same directory as `run-mozilla.sh', apparently.
|
||||
@@ -30,7 +25,6 @@ postInstall() {
|
||||
# Put the Firefox icon in the right place.
|
||||
ensureDir $out/lib/$libDir/chrome/icons/default
|
||||
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
|
||||
|
||||
}
|
||||
|
||||
genericBuild
|
||||
|
||||
@@ -10,25 +10,19 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "firefox-2.0.0.6";
|
||||
name = "firefox-1.5.0.7";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.6/source/firefox-2.0.0.6-source.tar.bz2;
|
||||
sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/firefox-1.5.0.7-source.tar.bz2;
|
||||
sha1 = "f10d57af87bddc1b929ec5321688ac0efa880960";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
|
||||
];
|
||||
|
||||
patches = [
|
||||
./writable-copies.patch
|
||||
# Ugh, inexplicable problem since GTK+ 2.10. Probably a Firefox
|
||||
# bug, but I don't know. See
|
||||
# http://lists.gobolinux.org/pipermail/gobolinux-users/2007-January/004344.html
|
||||
./xlibs.patch
|
||||
];
|
||||
patches = [./writable-copies.patch];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-application=browser"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user