Compare commits

..

1 Commits
0.11 ... 0.10

Author SHA1 Message Date
Eelco Dolstra
129a56627f svn path=/nixpkgs/branches/0.10-release/; revision=6722 2006-10-12 20:35:23 +00:00
1140 changed files with 15663 additions and 65686 deletions

View File

@@ -1 +1 @@
0.11
0.10

View File

@@ -1 +0,0 @@
import ./pkgs/top-level/all-packages.nix

View File

@@ -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 \

View File

@@ -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 doesnt 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 doesnt 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

View File

@@ -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")?

View File

@@ -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.

View File

@@ -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

View File

@@ -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)

View File

@@ -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];

View File

@@ -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];
}

View File

@@ -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

View File

@@ -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];
}

View File

@@ -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];
}

View File

@@ -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];

View File

@@ -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] ;

View File

@@ -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" ;
};
}

View File

@@ -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)
";
}

View File

@@ -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

View File

@@ -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) {

View File

@@ -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 \

View File

@@ -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

View File

@@ -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";
};
}

View File

@@ -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";
}

View File

@@ -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";
}

View File

@@ -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() {

View File

@@ -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 [];
}

View File

@@ -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() {

View File

@@ -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 []);

View File

@@ -0,0 +1,4 @@
source $stdenv/setup
mkdir -p $out/emacs/site-lisp
cp $src $out/emacs/site-lisp/cua.el

View 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";
};
}

View 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

View File

@@ -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";
};
}

View 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-*

View 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";
};
}

View File

@@ -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

View File

@@ -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 },

View 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

View File

@@ -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)
];

View File

@@ -0,0 +1,4 @@
source $stdenv/setup
mkdir -p $out/emacs/site-lisp
cp $src $out/emacs/site-lisp/cua.el

View 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";
};
}

View 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

View File

@@ -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";
};
}

View 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-*

View 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";
};
}

View File

@@ -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";
};
}

View File

@@ -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";

View File

@@ -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 "";
}

View File

@@ -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";
};

View File

@@ -0,0 +1,9 @@
source $stdenv/setup
postInstall=postInstall
postInstall() {
ln -s $out/bin/vim $out/bin/vi
}
genericBuild

View File

@@ -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";

View File

@@ -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 ];
}

View File

@@ -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];
}

View File

@@ -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.";
};
}

View File

@@ -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/;
};
}

View File

@@ -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";
};
}

View File

@@ -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];

View File

@@ -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";
};

View File

@@ -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";
};

View File

@@ -0,0 +1,9 @@
. $stdenv/setup
preConfigure() {
autoreconf -i
}
preConfigure=preConfigure
genericBuild

View File

@@ -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];
}

View File

@@ -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

View File

@@ -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

View File

@@ -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";
};
}

View File

@@ -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

View File

@@ -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

View File

@@ -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";
};
}

View File

@@ -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];

View File

@@ -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.
";
};
}

View File

@@ -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];

View File

@@ -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";
};
}

View File

@@ -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.
";
};
}

View File

@@ -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";
};
}

View File

@@ -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];

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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];

View File

@@ -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";
};
}

View File

@@ -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];

View File

@@ -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;
}

View File

@@ -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";
};
}

View File

@@ -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";
};
}

View File

@@ -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];

View File

@@ -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];
}

View File

@@ -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];
}

View File

@@ -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];

View File

@@ -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;
};
}

View 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

View File

@@ -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;};
}

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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