mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-06 05:13:37 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f61e1b99f |
31
COPYING
31
COPYING
@@ -1,31 +0,0 @@
|
||||
Copyright (c) 2003-2006 Eelco Dolstra
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
======================================================================
|
||||
|
||||
Note: the license above does not apply to the packages built by the
|
||||
Nix Packages collection, merely to the package descriptions (i.e., Nix
|
||||
expressions, build scripts, etc.). Also, the license does not apply
|
||||
to some of the binaries used for bootstrapping Nixpkgs (e.g.,
|
||||
pkgs/stdenv/linux/tools/bash). It also might not apply to patches
|
||||
included in Nixpkgs, which may be derivative works of the packages to
|
||||
which they apply. The aforementioned artifacts are all covered by the
|
||||
licenses of the respective packages.
|
||||
10
doc/Makefile
10
doc/Makefile
@@ -1,12 +1,12 @@
|
||||
XMLLINT = xmllint --catalogs
|
||||
XSLTPROC = xsltproc --catalogs \
|
||||
ENV = SGML_CATALOG_FILES=$(docbookcatalog)
|
||||
|
||||
XMLLINT = $(ENV) xmllint --catalogs
|
||||
XSLTPROC = $(ENV) xsltproc --catalogs \
|
||||
--param section.autolabel 1 \
|
||||
--param section.label.includes.component.label 1 \
|
||||
--param html.stylesheet \'style.css\' \
|
||||
--param xref.with.number.and.title 1 \
|
||||
--param toc.section.depth 3 \
|
||||
--param admon.style \'\' \
|
||||
--param callout.graphics.extension \'.gif\'
|
||||
--param toc.section.depth 3
|
||||
|
||||
NEWS_OPTS = \
|
||||
--stringparam generate.toc "article nop" \
|
||||
|
||||
@@ -37,8 +37,4 @@
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="text()">
|
||||
<xsl:value-of select="translate(., '‘’“”—', concat("`'", '""-'))" />
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,208 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<article xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book
|
||||
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip"
|
||||
[
|
||||
]>
|
||||
|
||||
<title>Nixpkgs Release Notes</title>
|
||||
|
||||
|
||||
<section><title>Release 0.10 (October 12, 2006)</title>
|
||||
|
||||
<note><para>This release of Nixpkgs requires <link
|
||||
xlink:href='http://nix.cs.uu.nl/dist/nix/nix-0.10/'>Nix
|
||||
0.10</link> or higher.</para></note>
|
||||
|
||||
<para>This release has the following improvements:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para><filename>pkgs/system/all-packages-generic.nix</filename>
|
||||
is gone, we now just have
|
||||
<filename>pkgs/top-level/all-packages.nix</filename> that contains
|
||||
all available packages. This should cause much less confusion with
|
||||
users. <filename>all-packages.nix</filename> is a function that by
|
||||
default returns packages for the current platform, but you can
|
||||
override this by specifying a different <varname>system</varname>
|
||||
argument.</para></listitem>
|
||||
|
||||
<listitem><para>Certain packages in Nixpkgs are now
|
||||
user-configurable through a configuration file, i.e., without having
|
||||
to edit the Nix expressions in Nixpkgs. For instance, the Firefox
|
||||
provided in the Nixpkgs channel is built without the RealPlayer
|
||||
plugin (for legal reasons). Previously, you could easily enable
|
||||
RealPlayer support by editing the call to the Firefox function in
|
||||
<filename>all-packages.nix</filename>, but such changes are not
|
||||
respected when Firefox is subsequently updated through the Nixpkgs
|
||||
channel.</para>
|
||||
|
||||
<para>The Nixpkgs configuration file (found in
|
||||
<filename>~/.nixpkgs/config.nix</filename> or through the
|
||||
<envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute
|
||||
set that contains configuration options that
|
||||
<filename>all-packages.nix</filename> reads and uses for certain
|
||||
packages. For instance, the following configuration file:
|
||||
|
||||
<programlisting>
|
||||
{
|
||||
firefox = {
|
||||
enableRealPlayer = true;
|
||||
};
|
||||
}</programlisting>
|
||||
|
||||
persistently enables RealPlayer support in the Firefox
|
||||
build.</para>
|
||||
|
||||
<para>(Actually, <literal>firefox.enableRealPlayer</literal> is the
|
||||
<emphasis>only</emphasis> configuration option currently available,
|
||||
but more are sure to be added.)</para></listitem>
|
||||
|
||||
<listitem><para>Support for new platforms:
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para><literal>i686-cygwin</literal>, i.e., Windows
|
||||
(using <link xlink:href="http://www.cygwin.com/">Cygwin</link>).
|
||||
The standard environment on <literal>i686-cygwin</literal> by
|
||||
default builds binaries for the Cygwin environment (i.e., it
|
||||
uses Cygwin tools and produces executables that use the Cygwin
|
||||
library). However, there is also a standard environment that
|
||||
produces binaries that use <link
|
||||
xlink:href="http://www.mingw.org/">MinGW</link>. You can use it
|
||||
by calling <filename>all-package.nix</filename> with the
|
||||
<varname>stdenvType</varname> argument set to
|
||||
<literal>"i686-mingw"</literal>.</para></listitem>
|
||||
|
||||
<listitem><para><literal>i686-darwin</literal>, i.e., Mac OS X
|
||||
on Intel CPUs.</para></listitem>
|
||||
|
||||
<listitem><para><literal>powerpc-linux</literal>.</para></listitem>
|
||||
|
||||
<listitem><para><literal>x86_64-linux</literal>, i.e., Linux on
|
||||
64-bit AMD/Intel CPUs. Unlike <literal>i686-linux</literal>,
|
||||
this platform doesn’t have a pure <literal>stdenv</literal>
|
||||
yet.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
<listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
|
||||
|
||||
<listitem><para>X11 updated to X.org’s X11R7.1.</para></listitem>
|
||||
|
||||
<listitem><para>Notable new packages:
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>Opera.</para></listitem>
|
||||
|
||||
<listitem><para>Microsoft Visual C++ 2005 Express Edition and
|
||||
the Windows SDK.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
In total there are now around 809 packages in Nixpkgs.</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
|
||||
<listitem><para>It is now <emphasis>much</emphasis> easier to
|
||||
override the default C compiler and other tools in
|
||||
<literal>stdenv</literal> for specific packages.
|
||||
<filename>all-packages.nix</filename> provides two utility
|
||||
functions for this purpose: <function>overrideGCC</function> and
|
||||
<function>overrideInStdenv</function>. Both take a
|
||||
<literal>stdenv</literal> and return an augmented
|
||||
<literal>stdenv</literal>; the formed changes the C compiler, and
|
||||
the latter adds additional packages to the front of
|
||||
<literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing
|
||||
tools to be overriden.</para>
|
||||
|
||||
<para>For instance, the package <varname>strategoxt</varname>
|
||||
doesn’t build with the GNU Make in <literal>stdenv</literal>
|
||||
(version 3.81), so we call it with an augmented
|
||||
<literal>stdenv</literal> that uses GNU Make 3.80:
|
||||
|
||||
<programlisting>
|
||||
strategoxt = (import ../development/compilers/strategoxt) {
|
||||
inherit fetchurl pkgconfig sdf aterm;
|
||||
stdenv = overrideInStdenv stdenv [gnumake380];
|
||||
};
|
||||
|
||||
gnumake380 = <replaceable>...</replaceable>;</programlisting>
|
||||
|
||||
Likewise, there are many packages that don’t compile with the
|
||||
default GCC (4.1.1), but that’s easily fixed:
|
||||
|
||||
<programlisting>
|
||||
exult = import ../games/exult {
|
||||
inherit fetchurl SDL SDL_mixer zlib libpng unzip;
|
||||
stdenv = overrideGCC stdenv gcc34;
|
||||
};</programlisting>
|
||||
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>It has also become much easier to experiment with
|
||||
changes to the <literal>stdenv</literal> setup script (which notably
|
||||
contains the generic builder). Since edits to
|
||||
<filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild
|
||||
of <emphasis>everything</emphasis>, this was formerly quite painful.
|
||||
But now <literal>stdenv</literal> contains a function to
|
||||
“regenerate” <literal>stdenv</literal> with a different setup
|
||||
script, allowing the use of a different setup script for specific
|
||||
packages:
|
||||
|
||||
<programlisting>
|
||||
pkg = import <replaceable>...</replaceable> {
|
||||
stdenv = stdenv.regenerate ./my-setup.sh;
|
||||
<replaceable>...</replaceable>
|
||||
}</programlisting>
|
||||
|
||||
</para></listitem>
|
||||
|
||||
|
||||
<listitem><para>Packages can now have a human-readable
|
||||
<emphasis>description</emphasis> field. Package descriptions are
|
||||
shown by <literal>nix-env -qa --description</literal>. In addition,
|
||||
they’re shown on the Nixpkgs release page. A description can be
|
||||
added to a package as follows:
|
||||
|
||||
<programlisting>
|
||||
stdenv.mkDerivation {
|
||||
name = "exult-1.2";
|
||||
<replaceable>...</replaceable>
|
||||
meta = {
|
||||
description = "A reimplementation of the Ultima VII game engine";
|
||||
};
|
||||
}</programlisting>
|
||||
|
||||
The <varname>meta</varname> attribute is not passed to the builder,
|
||||
so changes to the description do not trigger a rebuild. Additional
|
||||
<varname>meta</varname> attributes may be defined in the future
|
||||
(such as the URL of the package’s homepage, the license,
|
||||
etc.).</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
<para>The following people contributed to this release:
|
||||
|
||||
Andres Löh,
|
||||
Armijn Hemel,
|
||||
Christof Douma,
|
||||
Eelco Dolstra,
|
||||
Eelco Visser,
|
||||
Mart Kolthof,
|
||||
Martin Bravenboer,
|
||||
Merijn de Jonge,
|
||||
Rob Vermaas and
|
||||
Roy van den Broek.
|
||||
|
||||
</para>
|
||||
|
||||
</section>
|
||||
<article><title>Nixpkgs Release Notes</title>
|
||||
|
||||
|
||||
<section><title>Release 0.9 (January 31, 2006)</title>
|
||||
@@ -213,8 +16,8 @@ some of the more notable changes:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>Distribution files have been moved to <link
|
||||
xlink:href="http://nix.cs.uu.nl/" />.</para></listitem>
|
||||
<listitem><para>Distribution files have been moved to <ulink
|
||||
url="http://nix.cs.uu.nl/" />.</para></listitem>
|
||||
|
||||
<listitem><para>The C library on Linux, Glibc, has been updated to
|
||||
version 2.3.6.</para></listitem>
|
||||
@@ -229,7 +32,7 @@ some of the more notable changes:</para>
|
||||
working X server (previously we only had X client libraries). We
|
||||
use a fully Nixified X server on NixOS.</para></listitem>
|
||||
|
||||
<listitem><para>The Sun JDK 5 has been purified, i.e., it doesn’t
|
||||
<listitem><para>The Sun JDK 5 has been purified, i.e., it doesn't
|
||||
require any non-Nix components such as
|
||||
<filename>/lib/ld-linux.so.2</filename>. This means that Java
|
||||
applications such as Eclipse and Azureus can run on
|
||||
@@ -346,10 +149,9 @@ hashing scheme in Nix 0.8.</para>
|
||||
<listitem>
|
||||
|
||||
<para>Tarballs used by Nixpkgs are now obtained from the same server
|
||||
that hosts Nixpkgs (<link
|
||||
xlink:href="http://catamaran.labs.cs.uu.nl/" />). This reduces the
|
||||
risk of packages being unbuildable due to moved or deleted files on
|
||||
various servers.</para>
|
||||
that hosts Nixpkgs (<ulink url="http://catamaran.labs.cs.uu.nl/" />).
|
||||
This reduces the risk of packages being unbuildable due to moved or
|
||||
deleted files on various servers.</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
|
||||
107
doc/style.css
107
doc/style.css
@@ -10,6 +10,7 @@ body
|
||||
{
|
||||
font-family: sans-serif;
|
||||
background: white;
|
||||
|
||||
margin: 2em 1em 2em 1em;
|
||||
}
|
||||
|
||||
@@ -33,28 +34,16 @@ h2 /* chapters, appendices, subtitle */
|
||||
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
|
||||
{
|
||||
margin-top: 1.5em;
|
||||
/* border-top: solid #005aa0; */
|
||||
}
|
||||
|
||||
div.section > div.titlepage h2 /* sections */
|
||||
div.sect1 h2 /* sections */
|
||||
{
|
||||
font-size: 150%;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
h3 /* subsections */
|
||||
{
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
div.appendix h3
|
||||
{
|
||||
font-size: 150%;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
|
||||
{
|
||||
margin-top: 1.4em;
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
@@ -63,23 +52,30 @@ div.refsection h3
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
h3 /* subsections */
|
||||
{
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Examples:
|
||||
Program listings:
|
||||
***************************************************************************/
|
||||
|
||||
div.example
|
||||
{
|
||||
border: 1px solid #6185a0;
|
||||
padding: 6px 6px;
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em;
|
||||
background: #f4f4f8;
|
||||
margin-left: 3em;
|
||||
margin-right: 3em;
|
||||
background: #eeeeee;
|
||||
}
|
||||
|
||||
div.example p.title
|
||||
pre.programlisting
|
||||
{
|
||||
margin-top: 0em;
|
||||
color: #600000;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
@@ -87,63 +83,41 @@ div.example p.title
|
||||
Screen dumps:
|
||||
***************************************************************************/
|
||||
|
||||
pre.screen, pre.programlisting
|
||||
pre.screen
|
||||
{
|
||||
border: 1px solid #6185a0;
|
||||
padding: 3px 3px;
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em;
|
||||
padding: 6px 6px;
|
||||
margin-left: 3em;
|
||||
margin-right: 3em;
|
||||
color: #600000;
|
||||
background: #f4f4f8;
|
||||
background: #eeeeee;
|
||||
font-family: monospace;
|
||||
/* font-size: 90%; */
|
||||
}
|
||||
|
||||
div.example pre.programlisting
|
||||
{
|
||||
border: 0px;
|
||||
padding: 0 0;
|
||||
margin: 0 0 0 0;
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Notes, warnings etc:
|
||||
***************************************************************************/
|
||||
|
||||
.note, .warning
|
||||
.note,.warning
|
||||
{
|
||||
border: 1px solid #6185a0;
|
||||
padding: 3px 3px;
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
padding: 0.3em 0.3em 0.3em 0.3em;
|
||||
border: 1px solid #6185a0;
|
||||
padding: 0px 1em;
|
||||
background: #fffff5;
|
||||
}
|
||||
|
||||
div.note, div.warning
|
||||
div.note,div.warning
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.note h3, div.warning h3
|
||||
div.warning h3
|
||||
{
|
||||
color: red;
|
||||
font-size: 100%;
|
||||
// margin: 0 0 0 0;
|
||||
padding-right: 0.5em;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.note p, div.warning p
|
||||
{
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
div.note h3 + p, div.warning h3 + p
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.note h3
|
||||
@@ -193,19 +167,9 @@ tt, code
|
||||
|
||||
}
|
||||
|
||||
div.variablelist dd p, div.glosslist dd p
|
||||
div.variablelist dd
|
||||
{
|
||||
margin-top: 0em;
|
||||
}
|
||||
|
||||
div.variablelist dd, div.glosslist dd
|
||||
{
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
div.glosslist dt
|
||||
{
|
||||
font-style: italic;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.default
|
||||
@@ -268,16 +232,3 @@ table.productionset table.productionset
|
||||
{
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
strong.command
|
||||
{
|
||||
// font-family: monospace;
|
||||
// font-style: italic;
|
||||
// font-weight: normal;
|
||||
color: #400000;
|
||||
}
|
||||
|
||||
div.calloutlist td
|
||||
{
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
Creating a new static stdenv
|
||||
----------------------------
|
||||
|
||||
When Nix is ported to a new (Linux) platform and you want to have a completely
|
||||
pure setup for the stdenv (for example for NixOS) it is necessary to rebuild
|
||||
the static tools.
|
||||
|
||||
The challenge is that there is no Nix environment yet, for bootstrapping.
|
||||
The first task is to create all the tools that are necessary. For most tools
|
||||
there are ready made Nix expressions.
|
||||
|
||||
|
||||
GCC
|
||||
|
||||
There is an expression gcc-static-3.4. Depending on whether or not you already
|
||||
have an environment built with Nix (x86-linux: yes, rest: not yet) you should
|
||||
set the noSysDirs parameter in all-packages.nix. If there is an environment,
|
||||
leave it, but if the system is still impure (like most systems), set noSysDirs
|
||||
to false.
|
||||
|
||||
bash
|
||||
|
||||
There is an expression for bash-static. Simply build it.
|
||||
|
||||
bzip2
|
||||
|
||||
There is an expression for bzip2-static. Simply build it.
|
||||
|
||||
findutils
|
||||
|
||||
There is an expression for findutils-static. Simply build it.
|
||||
@@ -20,9 +20,6 @@ The tools can be found in nixpkgs in:
|
||||
- tools/text/gnupatch-diet
|
||||
- tools/misc/findutils-static
|
||||
|
||||
and
|
||||
- development/compilers/gcc-static-3.4
|
||||
|
||||
Most packages are compiled with dietlibc, an alternate C library, apart
|
||||
from bash and findutils, which are statically linked to glibc. The reason
|
||||
we chose dietlibc has various reasons. First of all, curl cannot be built
|
||||
|
||||
@@ -12,5 +12,3 @@
|
||||
* 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.
|
||||
@@ -6,34 +6,26 @@ find . -name "*.nix" | while read fn; do
|
||||
|
||||
if oldURL=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
|
||||
|
||||
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
|
||||
if ! echo "$oldURL" | grep -q -E "www.cs.uu.nl|nix.cs.uu.nl|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe"; 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
|
||||
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
|
||||
fi
|
||||
|
||||
if test -n "$doMove" -a -n "$isSafe"; then
|
||||
# if test -e "$newPath"; then
|
||||
# echo "WARNING: $newPath exists!"
|
||||
# else
|
||||
|
||||
if ! test -e "$newPath"; then
|
||||
curl --disable-epsv --fail --location --max-redirs 20 "$oldURL" > "$newPath".tmp
|
||||
curl --fail --location --max-redirs 20 "$oldURL" > "$newPath".tmp
|
||||
mv -f "$newPath".tmp "$newPath"
|
||||
|
||||
fi
|
||||
|
||||
sed "s^$oldURL^$newURL^" < "$fn" > "$fn".tmp
|
||||
mv -f "$fn".tmp "$fn"
|
||||
|
||||
fi
|
||||
# fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#! /usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
my %map;
|
||||
open LIST1, "<$ARGV[0]" or die;
|
||||
while (<LIST1>) {
|
||||
/^(\S+)\s+(.*)$/;
|
||||
$map{$1} = $2;
|
||||
}
|
||||
|
||||
open LIST1, "<$ARGV[1]" or die;
|
||||
while (<LIST1>) {
|
||||
/^(\S+)\s+(.*)$/;
|
||||
if (!defined $map{$1}) {
|
||||
print STDERR "missing file: $2\n";
|
||||
next;
|
||||
}
|
||||
print "$2\n";
|
||||
print "$map{$1}\n";
|
||||
}
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
/* Tool to sort attribute sets. Primarily useful for keeping
|
||||
all-packages.nix tidy.
|
||||
|
||||
To compile:
|
||||
|
||||
$ strc -i ../../maintainers/scripts/sort-attrs.str -la stratego-lib
|
||||
|
||||
Typical invocation:
|
||||
|
||||
$ sglr -m -p ~/Dev/nix/src/libexpr/nix.tbl -i all-packages.nix \
|
||||
| implode-asfix --lex \
|
||||
| ../../maintainers/scripts/sort-attrs \
|
||||
| asfix-yield
|
||||
*/
|
||||
|
||||
module sort-attrs
|
||||
|
||||
imports
|
||||
libstratego-lib
|
||||
libstratego-sglr
|
||||
|
||||
|
||||
strategies
|
||||
|
||||
no-wsp = !appl(prod([], cf(opt(layout())), no-attrs()), [])
|
||||
|
||||
|
||||
rules
|
||||
|
||||
list-sep(s): [] -> []
|
||||
list-sep(s): [x | xs] -> [[x | before] | <list-sep(s)> [split | after]]
|
||||
where
|
||||
<split-fetch-keep(s)> xs => (before, split, after)
|
||||
list-sep(s): [x | xs] -> [[x | xs]]
|
||||
where
|
||||
<not(split-fetch-keep(s))> xs
|
||||
|
||||
list-sep-end(s): xs -> [<conc> (before, [split]) | <list-sep-end(s)> after]
|
||||
where
|
||||
<split-fetch-keep(s)> xs => (before, split, after)
|
||||
list-sep-end(s): xs -> [xs]
|
||||
where
|
||||
<not(split-fetch-keep(s))> xs
|
||||
|
||||
|
||||
sort-attrs:
|
||||
appl(p@prod(_, _, attrs([term(cons("Attrs"))])),
|
||||
[ lit("{")
|
||||
, ws1
|
||||
, appl(p2@list(cf(iter-star(sort("Bind")))), attrs)
|
||||
, ws2
|
||||
, lit("}")
|
||||
]
|
||||
) ->
|
||||
appl(p, [lit("{"), <no-wsp>, appl(p2, <concat> attrs'), ws2, lit("}")])
|
||||
where
|
||||
<debug> "found it";
|
||||
<attach-wsp> [ws1 | attrs] => withWSP;
|
||||
<list-sep(starts-section)> withWSP => groups;
|
||||
<length; debug> groups;
|
||||
<map({x', x'', x''', xs', starts, starts': \[x | xs] -> [x''' | xs']
|
||||
where
|
||||
<remove-section-start> x => (x', starts);
|
||||
<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';
|
||||
<debug> "did it"
|
||||
|
||||
|
||||
attach-wsp: [a, b | cs] -> [(a, b) | <attach-wsp> cs]
|
||||
attach-wsp: [] -> []
|
||||
|
||||
|
||||
strategies
|
||||
|
||||
starts-section =
|
||||
?x@(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr);
|
||||
<implode-string; is-substring(!"###")> cs;
|
||||
!x
|
||||
|
||||
|
||||
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)
|
||||
where
|
||||
!cs;
|
||||
list-sep-end(?10); // separate into lines, keeping the \n
|
||||
map(implode-string);
|
||||
partition(where(is-substring(!"###"))) => (starts, rest);
|
||||
<map(explode-string); concat> rest => cs'
|
||||
|
||||
|
||||
regularise-empty-lines:
|
||||
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr) ->
|
||||
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs''), attr)
|
||||
where
|
||||
// separate into lines, keeping the \n
|
||||
// last whitespace is significant, keep
|
||||
<list-sep-end(?10); split-init-last> cs => (init, last);
|
||||
<regularise-empty-lines'> init => cs'; // remove whitespace-only lines
|
||||
<concat> [<explode-string> "\n\n", <concat> cs', last] => cs'' // add one empty line
|
||||
|
||||
/* Dirty hack: *do* keep the first empty line following a non-empty line. !!! order matters */
|
||||
regularise-empty-lines': [] -> []
|
||||
|
||||
regularise-empty-lines': [x, y | xs] -> [x, y | <regularise-empty-lines'> xs]
|
||||
where
|
||||
<fetch-elem(not(?10 <+ ?32))> x;
|
||||
<not(fetch-elem(not(?10 <+ ?32)))> y
|
||||
|
||||
regularise-empty-lines': [x | xs] -> [x | <regularise-empty-lines'> xs]
|
||||
where <fetch-elem(not(?10 <+ ?32))> x
|
||||
|
||||
regularise-empty-lines': [x | xs] -> <regularise-empty-lines'> xs
|
||||
where <not(fetch-elem(not(?10 <+ ?32)))> x
|
||||
|
||||
|
||||
prepend-layout:
|
||||
(text, (appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr)) ->
|
||||
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs''), attr)
|
||||
where
|
||||
<implode-string> cs => cs';
|
||||
<conc-strings; explode-string> (<concat-strings> text, cs') => cs''
|
||||
|
||||
|
||||
compare-attrs:
|
||||
x@
|
||||
( (_, appl(p1@prod(_, _, attrs([term(cons("Bind"))])), [id1 | xs1]))
|
||||
, (_, appl(p2@prod(_, _, attrs([term(cons("Bind"))])), [id2 | xs2]))
|
||||
)
|
||||
-> x
|
||||
where
|
||||
<string-lt> (id1, id2)
|
||||
|
||||
|
||||
strategies
|
||||
|
||||
main = io-wrap(
|
||||
oncetd(sort-attrs)
|
||||
)
|
||||
@@ -1,13 +0,0 @@
|
||||
{stdenv, fetchurl, perl
|
||||
, bison, flex, glib
|
||||
, pkgconfig, libxml2}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "GStreamer-0.10.10";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gstreamer-0.10.10.tar.bz2;
|
||||
md5 = "6875bf0bd3cf38b9ae1362b9e644e6fc" ;
|
||||
};
|
||||
|
||||
buildInputs = [perl bison flex glib pkgconfig libxml2];
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
ensureDir "$out/lib/bmp/Input"
|
||||
installFlags="install libdir=$out/lib/bmp/Input"
|
||||
|
||||
genericBuild
|
||||
@@ -1,11 +0,0 @@
|
||||
{stdenv, fetchurl, pkgconfig, bmp, glib, gtk, libmpcdec, taglib}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bmp-plugin-musepack-1.2";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bmp-musepack-1.2.tar.bz2;
|
||||
md5 = "5fe0c9d341ca37d05c780a478f829a5f";
|
||||
};
|
||||
buildInputs = [pkgconfig bmp glib gtk libmpcdec taglib];
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, alsaLib, esound, libogg, libvorbis, id3lib
|
||||
, glib, gtk, libglade
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bmp-0.9.7.1";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bmp-0.9.7.1.tar.gz;
|
||||
md5 = "c25d5a8d49cc5851d13d525a20023c4c";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig alsaLib esound libogg libvorbis id3lib
|
||||
glib gtk libglade
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Beep Media Player, an XMMS fork";
|
||||
};
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{stdenv, fetchurl, libogg}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "flac-1.1.2";
|
||||
name = "flac-1.1.1";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/flac-1.1.2.tar.gz;
|
||||
md5 = "2bfc127cdda02834d0491ab531a20960" ;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/flac-1.1.1.tar.gz;
|
||||
md5 = "c6ccddccf8ad344065698047c2fc7280" ;
|
||||
};
|
||||
|
||||
buildInputs = [libogg] ;
|
||||
|
||||
@@ -4,15 +4,11 @@ stdenv.mkDerivation {
|
||||
name = "xmms-1.2.10";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xmms-1.2.10.tar.bz2;
|
||||
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c";
|
||||
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c" ;
|
||||
};
|
||||
|
||||
# Patch borrowed from SuSE 10.0 to fix pause/continue on ALSA.
|
||||
patches = [./alsa.patch];
|
||||
|
||||
buildInputs = [alsaLib esound libogg libvorbis glib gtk];
|
||||
|
||||
meta = {
|
||||
description = "A music player very similar to Winamp";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -32,15 +32,6 @@ makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||
--prefix PATH ":" "$jdk/bin" \
|
||||
--prefix LD_LIBRARY_PATH ":" "$rpath"
|
||||
|
||||
ensureDir plugin-working-dir
|
||||
workingdir="$(pwd)/plugin-working-dir"
|
||||
for plugin in $plugins; do
|
||||
if test -e $plugin/install; then
|
||||
cd $workingdir
|
||||
$plugin/install "$out/eclipse"
|
||||
rm -rf $workingdir/*
|
||||
else
|
||||
# assume that it is a file
|
||||
cp $plugin $out/eclipse/plugins
|
||||
fi
|
||||
done
|
||||
for i in $plugins; do
|
||||
cp $i $out/eclipse/plugins
|
||||
done
|
||||
@@ -1 +1 @@
|
||||
import ./eclipse-sdk-3.1.2.nix
|
||||
import ./eclipse-sdk-3.1.1.nix
|
||||
@@ -3,7 +3,7 @@
|
||||
let {
|
||||
body =
|
||||
stdenv.mkDerivation {
|
||||
name = "eclipse-sdk-3.1.2";
|
||||
name = "eclipse-sdk-3.1.1";
|
||||
builder = ./builder.sh;
|
||||
src = bindist;
|
||||
inherit makeWrapper jdk plugins;
|
||||
@@ -12,7 +12,7 @@ let {
|
||||
|
||||
bindist =
|
||||
fetchurl {
|
||||
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-SDK-3.1.2-linux-gtk.tar.gz;
|
||||
md5 = "ece50ed4d6d48dac839bfe8fa719fcff";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/eclipse-SDK-3.1.1-linux-gtk.tar.gz;
|
||||
md5 = "a2ae61431657e2ed247867b9a9948290";
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
ensureDir $out
|
||||
cat >> $out/install <<EOF
|
||||
#! /bin/sh
|
||||
|
||||
PLUGIN=$plugin
|
||||
UNZIP=$unzip/bin/unzip
|
||||
ECLIPSE=\$1
|
||||
|
||||
\$UNZIP \$PLUGIN
|
||||
|
||||
if test -e plugins; then
|
||||
cp -prd * \$ECLIPSE
|
||||
else
|
||||
cd *
|
||||
cp -prd * \$ECLIPSE
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod u+x $out/install
|
||||
@@ -1,10 +0,0 @@
|
||||
{stdenv, unzip, plugin}:
|
||||
|
||||
let {
|
||||
body =
|
||||
stdenv.mkDerivation {
|
||||
name = "eclipse-zip-plugin-installer";
|
||||
builder = ./builder.sh;
|
||||
inherit plugin unzip;
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.10.jar;
|
||||
md5 = "ff77853e750e19a9b8d380c17ea27f3d";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.11.jar;
|
||||
md5 = "c36941afcb0e538e16fafd594eae128e";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.10.jar;
|
||||
md5 = "ff77853e750e19a9b8d380c17ea27f3d";
|
||||
}
|
||||
|
||||
@@ -21,8 +21,4 @@ stdenv.mkDerivation {
|
||||
(if xawSupport then if xaw3dSupport then Xaw3d else libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "All Hail Emacs, the ultimate editor";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{stdenv, fetchurl} :
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "joe-3.3";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/joe-3.3.tar.gz;
|
||||
md5 = "02221716679c039c5da00c275d61dbf4";
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
{stdenv, fetchurl, ncurses, gettext}:
|
||||
{stdenv, fetchurl, ncurses}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nano-1.2.5";
|
||||
name = "nano-1.2.4";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nano-1.2.5.tar.gz;
|
||||
md5 = "f2b3efbf1cf356d736740d531b6b22c4";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/nano-1.2.4.tar.gz;
|
||||
md5 = "2c513310ec5e8b63abaecaf48670ac7a";
|
||||
};
|
||||
buildInputs = [ncurses gettext];
|
||||
configureFlags = "--enable-tiny";
|
||||
buildInputs = [ncurses];
|
||||
}
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
{stdenv, fetchurl, ncurses}:
|
||||
{stdenv, fetchurl, ncurses, dietgcc}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "vim-7.0";
|
||||
name = "vim-6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
|
||||
md5 = "4ca69757678272f718b1041c810d82d8";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-6.3.tar.bz2;
|
||||
md5 = "821fda8f14d674346b87e3ef9cb96389";
|
||||
};
|
||||
|
||||
inherit ncurses;
|
||||
buildInputs = [ncurses];
|
||||
|
||||
NIX_GCC = dietgcc;
|
||||
NIX_GLIBC_FLAGS_SET=1;
|
||||
NIX_CFLAGS_COMPILE="-D_BSD_SOURCE=1";
|
||||
}
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
{stdenv, fetchurl, ncurses}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "vim-7.0";
|
||||
name = "vim-6.3";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
|
||||
md5 = "4ca69757678272f718b1041c810d82d8";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vim-6.3.tar.bz2;
|
||||
md5 = "821fda8f14d674346b87e3ef9cb96389";
|
||||
};
|
||||
|
||||
inherit ncurses;
|
||||
buildInputs = [ncurses];
|
||||
|
||||
meta = {
|
||||
description = "The most popular clone of the VI editor";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
{stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, glib, pango, atk, freetype
|
||||
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
|
||||
, perlXMLParser, python, pygtk, gettext}:
|
||||
{stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, glib, pango, atk, freetype, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl, perlXMLParser, python, pygtk}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gimp-2.3.10";
|
||||
name = "gimp-2.3.6";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gimp-2.3.10.tar.bz2;
|
||||
md5 = "a46acb413484300583ffca1fa54e0874" ;
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gimp-2.3.6.tar.bz2;
|
||||
md5 = "ce8ad77f4eb47abb868e6b4eb1f97943" ;
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk libgtkhtml glib pango atk 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] ;
|
||||
|
||||
configureFlags = [ "--disable-print" ];
|
||||
}
|
||||
|
||||
@@ -14,8 +14,4 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig gtk libpng];
|
||||
|
||||
meta = {
|
||||
description = "A fast image viewer";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "inkscape-0.43";
|
||||
name = "inkscape-0.42.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/inkscape-0.43.tar.bz2;
|
||||
md5 = "97c606182f5e177eef70c1e8a55efc1f";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/inkscape-0.42.2.tar.bz2;
|
||||
md5 = "a27172087018e850e92e97e52b5dad08";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
patchPhase=patchPhase
|
||||
patchPhase() {
|
||||
sed -e "s@-ljpeg6b@-ljpeg@" configure > configure.patched
|
||||
mv configure.patched configure
|
||||
chmod u+x configure
|
||||
}
|
||||
|
||||
genericBuild
|
||||
|
||||
ln -s $KDEDIR/share/mimelnk $out/share
|
||||
@@ -1,23 +0,0 @@
|
||||
{stdenv, fetchurl, libX11, libXext, libSM, kdelibs, qt, libjpeg, libungif, libpng, libtiff, imlib, arts, expat, perl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "kuickshow-0.8.5";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/kuickshow-0.8.5.tgz;
|
||||
md5 = "7a95852a0670b18859a1e6789b256ebd";
|
||||
};
|
||||
|
||||
configureFlags = "
|
||||
--with-imlib-config=${imlib}/bin
|
||||
--with-extra-includes=${libjpeg}/include
|
||||
--with-extra-libs=${libjpeg}/lib
|
||||
--x-includes=${libX11}/include
|
||||
--x-libraries=${libX11}/lib";
|
||||
|
||||
buildInputs = [kdelibs libX11 libXext libSM qt libjpeg libungif libpng libtiff imlib arts expat perl];
|
||||
inherit libjpeg;
|
||||
|
||||
KDEDIR = kdelibs;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
. $stdenv/setup
|
||||
|
||||
preConfigure() {
|
||||
autoreconf -i
|
||||
}
|
||||
|
||||
preConfigure=preConfigure
|
||||
|
||||
genericBuild
|
||||
@@ -1,13 +0,0 @@
|
||||
{stdenv, fetchurl, autoconf, automake, gettext, libtool, cvs, wxGTK, gtk, pkgconfig, libxml2, zip, libpng, libjpeg}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xaralx-0.5r1405";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
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";
|
||||
}
|
||||
@@ -13,8 +13,7 @@ tar xvf AdobeReader/ILINXR.TAR -C $out
|
||||
rm $out/Reader/intellinux/plug_ins/PPKLite.api
|
||||
|
||||
if test -n "$fastStart"; then
|
||||
echo "removing plugins..."
|
||||
rm -v $(ls $out/Reader/intellinux/plug_ins/*.api | grep -v SearchFind)
|
||||
rm $out/Reader/intellinux/plug_ins/*.api
|
||||
fi
|
||||
|
||||
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bluez-firmware-1.1";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bluez-firmware-1.1.tar.gz;
|
||||
md5 = "2f1c2d939108c865dd07bae3e819c573";
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{stdenv, fetchurl, bluezLibs}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bluez-utils-2.25";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/bluez-utils-2.25.tar.gz;
|
||||
md5 = "ae3729ab5592be06ed01b973d4b3e9fe";
|
||||
};
|
||||
buildInputs = [bluezLibs];
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{stdenv, fetchurl, pkgconfig, libgphoto2, libexif, popt}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gphoto2-2.2.0";
|
||||
name = "gphoto2-2.1.99";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gphoto2-2.2.0.tar.bz2;
|
||||
md5 = "f5c1f83185db598b4ca52889964a5e84";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gphoto2-2.1.99.tar.bz2;
|
||||
md5 = "549a9dfae6910ab6456b194ea86b55a2";
|
||||
};
|
||||
buildInputs = [pkgconfig libgphoto2 libexif popt];
|
||||
}
|
||||
|
||||
@@ -8,8 +8,4 @@ stdenv.mkDerivation {
|
||||
md5 = "70c9ccf9fac07f762c24f2df2290784d";
|
||||
};
|
||||
inherit perl;
|
||||
|
||||
meta = {
|
||||
description = "GNU Hello, a classic computer science tool";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
{stdenv, fetchurl, wxGTK, chmlib}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xchm-1.9";
|
||||
name = "xchm-1.2";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xchm-1.9.tar.gz;
|
||||
md5 = "12e1faf49447c743c5c936636cd8a172";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xchm-1.2.tar.gz;
|
||||
md5 = "17f2cda873f61470636dbfeebb4a531d";
|
||||
};
|
||||
buildInputs = [wxGTK chmlib];
|
||||
|
||||
meta = {
|
||||
description = "A viewer for Microsoft HTML Help files";
|
||||
};
|
||||
}
|
||||
|
||||
10
pkgs/applications/misc/xpdf/builder.sh
Normal file
10
pkgs/applications/misc/xpdf/builder.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
source $stdenv/setup
|
||||
|
||||
if test -n "$freetype"; then
|
||||
configureFlags="\
|
||||
--with-freetype2-library=$freetype/lib \
|
||||
--with-freetype2-includes=$freetype/include/freetype2 \
|
||||
$configureFlags"
|
||||
fi
|
||||
|
||||
genericBuild
|
||||
@@ -8,6 +8,7 @@ assert useT1Lib -> t1lib != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xpdf-3.01";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xpdf-3.01.tar.gz;
|
||||
@@ -17,13 +18,7 @@ stdenv.mkDerivation {
|
||||
buildInputs =
|
||||
(if enableGUI then [x11 motif] else []) ++
|
||||
(if useT1Lib then [t1lib] else []);
|
||||
freetype = if enableGUI || enablePDFtoPPM then freetype else null;
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-a4-paper" ] /* We obey ISO standards! */
|
||||
++ (if enablePDFtoPPM then [
|
||||
"--with-freetype2-library=${freetype}/lib"
|
||||
"--with-freetype2-includes=${freetype}/include/freetype2"
|
||||
] else []);
|
||||
|
||||
patches = [./xpdf-3.01pl2.patch];
|
||||
configureFlags = "--enable-a4-paper"; /* We obey ISO standards! */
|
||||
}
|
||||
|
||||
@@ -1,471 +0,0 @@
|
||||
diff -cr xpdf-3.01.orig/goo/gmem.c xpdf-3.01/goo/gmem.c
|
||||
*** xpdf-3.01.orig/goo/gmem.c Tue Aug 16 22:34:30 2005
|
||||
--- xpdf-3.01/goo/gmem.c Tue Jan 17 17:03:57 2006
|
||||
***************
|
||||
*** 11,16 ****
|
||||
--- 11,17 ----
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
+ #include <limits.h>
|
||||
#include "gmem.h"
|
||||
|
||||
#ifdef DEBUG_MEM
|
||||
***************
|
||||
*** 63,69 ****
|
||||
int lst;
|
||||
unsigned long *trl, *p;
|
||||
|
||||
! if (size == 0)
|
||||
return NULL;
|
||||
size1 = gMemDataSize(size);
|
||||
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
|
||||
--- 64,70 ----
|
||||
int lst;
|
||||
unsigned long *trl, *p;
|
||||
|
||||
! if (size <= 0)
|
||||
return NULL;
|
||||
size1 = gMemDataSize(size);
|
||||
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
|
||||
***************
|
||||
*** 86,92 ****
|
||||
#else
|
||||
void *p;
|
||||
|
||||
! if (size == 0)
|
||||
return NULL;
|
||||
if (!(p = malloc(size))) {
|
||||
fprintf(stderr, "Out of memory\n");
|
||||
--- 87,93 ----
|
||||
#else
|
||||
void *p;
|
||||
|
||||
! if (size <= 0)
|
||||
return NULL;
|
||||
if (!(p = malloc(size))) {
|
||||
fprintf(stderr, "Out of memory\n");
|
||||
***************
|
||||
*** 102,108 ****
|
||||
void *q;
|
||||
int oldSize;
|
||||
|
||||
! if (size == 0) {
|
||||
if (p)
|
||||
gfree(p);
|
||||
return NULL;
|
||||
--- 103,109 ----
|
||||
void *q;
|
||||
int oldSize;
|
||||
|
||||
! if (size <= 0) {
|
||||
if (p)
|
||||
gfree(p);
|
||||
return NULL;
|
||||
***************
|
||||
*** 120,126 ****
|
||||
#else
|
||||
void *q;
|
||||
|
||||
! if (size == 0) {
|
||||
if (p)
|
||||
free(p);
|
||||
return NULL;
|
||||
--- 121,127 ----
|
||||
#else
|
||||
void *q;
|
||||
|
||||
! if (size <= 0) {
|
||||
if (p)
|
||||
free(p);
|
||||
return NULL;
|
||||
***************
|
||||
*** 140,147 ****
|
||||
void *gmallocn(int nObjs, int objSize) {
|
||||
int n;
|
||||
|
||||
n = nObjs * objSize;
|
||||
! if (objSize == 0 || n / objSize != nObjs) {
|
||||
fprintf(stderr, "Bogus memory allocation size\n");
|
||||
exit(1);
|
||||
}
|
||||
--- 141,151 ----
|
||||
void *gmallocn(int nObjs, int objSize) {
|
||||
int n;
|
||||
|
||||
+ if (nObjs == 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
n = nObjs * objSize;
|
||||
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
|
||||
fprintf(stderr, "Bogus memory allocation size\n");
|
||||
exit(1);
|
||||
}
|
||||
***************
|
||||
*** 151,158 ****
|
||||
void *greallocn(void *p, int nObjs, int objSize) {
|
||||
int n;
|
||||
|
||||
n = nObjs * objSize;
|
||||
! if (objSize == 0 || n / objSize != nObjs) {
|
||||
fprintf(stderr, "Bogus memory allocation size\n");
|
||||
exit(1);
|
||||
}
|
||||
--- 155,168 ----
|
||||
void *greallocn(void *p, int nObjs, int objSize) {
|
||||
int n;
|
||||
|
||||
+ if (nObjs == 0) {
|
||||
+ if (p) {
|
||||
+ gfree(p);
|
||||
+ }
|
||||
+ return NULL;
|
||||
+ }
|
||||
n = nObjs * objSize;
|
||||
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
|
||||
fprintf(stderr, "Bogus memory allocation size\n");
|
||||
exit(1);
|
||||
}
|
||||
diff -cr xpdf-3.01.orig/xpdf/JBIG2Stream.cc xpdf-3.01/xpdf/JBIG2Stream.cc
|
||||
*** xpdf-3.01.orig/xpdf/JBIG2Stream.cc Tue Aug 16 22:34:31 2005
|
||||
--- xpdf-3.01/xpdf/JBIG2Stream.cc Tue Jan 17 17:29:46 2006
|
||||
***************
|
||||
*** 13,18 ****
|
||||
--- 13,19 ----
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
+ #include <limits.h>
|
||||
#include "GList.h"
|
||||
#include "Error.h"
|
||||
#include "JArithmeticDecoder.h"
|
||||
***************
|
||||
*** 681,686 ****
|
||||
--- 682,691 ----
|
||||
w = wA;
|
||||
h = hA;
|
||||
line = (wA + 7) >> 3;
|
||||
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
|
||||
+ data = NULL;
|
||||
+ return;
|
||||
+ }
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
data = (Guchar *)gmalloc(h * line + 1);
|
||||
data[h * line] = 0;
|
||||
***************
|
||||
*** 692,697 ****
|
||||
--- 697,706 ----
|
||||
w = bitmap->w;
|
||||
h = bitmap->h;
|
||||
line = bitmap->line;
|
||||
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
|
||||
+ data = NULL;
|
||||
+ return;
|
||||
+ }
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
data = (Guchar *)gmalloc(h * line + 1);
|
||||
memcpy(data, bitmap->data, h * line);
|
||||
***************
|
||||
*** 720,726 ****
|
||||
}
|
||||
|
||||
void JBIG2Bitmap::expand(int newH, Guint pixel) {
|
||||
! if (newH <= h) {
|
||||
return;
|
||||
}
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
--- 729,735 ----
|
||||
}
|
||||
|
||||
void JBIG2Bitmap::expand(int newH, Guint pixel) {
|
||||
! if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
|
||||
return;
|
||||
}
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
***************
|
||||
*** 2294,2299 ****
|
||||
--- 2303,2316 ----
|
||||
!readUWord(&stepX) || !readUWord(&stepY)) {
|
||||
goto eofError;
|
||||
}
|
||||
+ if (w == 0 || h == 0 || w >= INT_MAX / h) {
|
||||
+ error(getPos(), "Bad bitmap size in JBIG2 halftone segment");
|
||||
+ return;
|
||||
+ }
|
||||
+ if (gridH == 0 || gridW >= INT_MAX / gridH) {
|
||||
+ error(getPos(), "Bad grid size in JBIG2 halftone segment");
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
// get pattern dictionary
|
||||
if (nRefSegs != 1) {
|
||||
diff -cr xpdf-3.01.orig/xpdf/JPXStream.cc xpdf-3.01/xpdf/JPXStream.cc
|
||||
*** xpdf-3.01.orig/xpdf/JPXStream.cc Tue Aug 16 22:34:31 2005
|
||||
--- xpdf-3.01/xpdf/JPXStream.cc Tue Jan 17 17:14:06 2006
|
||||
***************
|
||||
*** 12,17 ****
|
||||
--- 12,18 ----
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
+ #include <limits.h>
|
||||
#include "gmem.h"
|
||||
#include "Error.h"
|
||||
#include "JArithmeticDecoder.h"
|
||||
***************
|
||||
*** 818,823 ****
|
||||
--- 819,830 ----
|
||||
/ img.xTileSize;
|
||||
img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
|
||||
/ img.yTileSize;
|
||||
+ // check for overflow before allocating memory
|
||||
+ if (img.nXTiles <= 0 || img.nYTiles <= 0 ||
|
||||
+ img.nXTiles >= INT_MAX / img.nYTiles) {
|
||||
+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
|
||||
+ return gFalse;
|
||||
+ }
|
||||
img.tiles = (JPXTile *)gmallocn(img.nXTiles * img.nYTiles,
|
||||
sizeof(JPXTile));
|
||||
for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
|
||||
diff -cr xpdf-3.01.orig/xpdf/Stream.cc xpdf-3.01/xpdf/Stream.cc
|
||||
*** xpdf-3.01.orig/xpdf/Stream.cc Tue Aug 16 22:34:31 2005
|
||||
--- xpdf-3.01/xpdf/Stream.cc Tue Jan 17 17:31:52 2006
|
||||
***************
|
||||
*** 15,20 ****
|
||||
--- 15,21 ----
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
+ #include <limits.h>
|
||||
#ifndef WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
***************
|
||||
*** 406,418 ****
|
||||
--- 407,432 ----
|
||||
width = widthA;
|
||||
nComps = nCompsA;
|
||||
nBits = nBitsA;
|
||||
+ predLine = NULL;
|
||||
+ ok = gFalse;
|
||||
|
||||
nVals = width * nComps;
|
||||
+ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
|
||||
+ nComps >= INT_MAX / nBits ||
|
||||
+ width >= INT_MAX / nComps / nBits ||
|
||||
+ nVals * nBits + 7 < 0) {
|
||||
+ return;
|
||||
+ }
|
||||
pixBytes = (nComps * nBits + 7) >> 3;
|
||||
rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
|
||||
+ if (rowBytes <= 0) {
|
||||
+ return;
|
||||
+ }
|
||||
predLine = (Guchar *)gmalloc(rowBytes);
|
||||
memset(predLine, 0, rowBytes);
|
||||
predIdx = rowBytes;
|
||||
+
|
||||
+ ok = gTrue;
|
||||
}
|
||||
|
||||
StreamPredictor::~StreamPredictor() {
|
||||
***************
|
||||
*** 1004,1009 ****
|
||||
--- 1018,1027 ----
|
||||
FilterStream(strA) {
|
||||
if (predictor != 1) {
|
||||
pred = new StreamPredictor(this, predictor, columns, colors, bits);
|
||||
+ if (!pred->isOk()) {
|
||||
+ delete pred;
|
||||
+ pred = NULL;
|
||||
+ }
|
||||
} else {
|
||||
pred = NULL;
|
||||
}
|
||||
***************
|
||||
*** 1259,1264 ****
|
||||
--- 1277,1285 ----
|
||||
if (columns < 1) {
|
||||
columns = 1;
|
||||
}
|
||||
+ if (columns + 4 <= 0) {
|
||||
+ columns = INT_MAX - 4;
|
||||
+ }
|
||||
rows = rowsA;
|
||||
endOfBlock = endOfBlockA;
|
||||
black = blackA;
|
||||
***************
|
||||
*** 2899,2904 ****
|
||||
--- 2920,2930 ----
|
||||
height = read16();
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
+ if (numComps <= 0 || numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream");
|
||||
+ numComps = 0;
|
||||
+ return gFalse;
|
||||
+ }
|
||||
if (prec != 8) {
|
||||
error(getPos(), "Bad DCT precision %d", prec);
|
||||
return gFalse;
|
||||
***************
|
||||
*** 2925,2930 ****
|
||||
--- 2951,2961 ----
|
||||
height = read16();
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
+ if (numComps <= 0 || numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream");
|
||||
+ numComps = 0;
|
||||
+ return gFalse;
|
||||
+ }
|
||||
if (prec != 8) {
|
||||
error(getPos(), "Bad DCT precision %d", prec);
|
||||
return gFalse;
|
||||
***************
|
||||
*** 2947,2952 ****
|
||||
--- 2978,2988 ----
|
||||
|
||||
length = read16() - 2;
|
||||
scanInfo.numComps = str->getChar();
|
||||
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream");
|
||||
+ scanInfo.numComps = 0;
|
||||
+ return gFalse;
|
||||
+ }
|
||||
--length;
|
||||
if (length != 2 * scanInfo.numComps + 3) {
|
||||
error(getPos(), "Bad DCT scan info block");
|
||||
***************
|
||||
*** 3041,3046 ****
|
||||
--- 3077,3083 ----
|
||||
numACHuffTables = index+1;
|
||||
tbl = &acHuffTables[index];
|
||||
} else {
|
||||
+ index &= 0x0f;
|
||||
if (index >= numDCHuffTables)
|
||||
numDCHuffTables = index+1;
|
||||
tbl = &dcHuffTables[index];
|
||||
***************
|
||||
*** 3827,3832 ****
|
||||
--- 3864,3873 ----
|
||||
FilterStream(strA) {
|
||||
if (predictor != 1) {
|
||||
pred = new StreamPredictor(this, predictor, columns, colors, bits);
|
||||
+ if (!pred->isOk()) {
|
||||
+ delete pred;
|
||||
+ pred = NULL;
|
||||
+ }
|
||||
} else {
|
||||
pred = NULL;
|
||||
}
|
||||
diff -cr xpdf-3.01.orig/xpdf/Stream.h xpdf-3.01/xpdf/Stream.h
|
||||
*** xpdf-3.01.orig/xpdf/Stream.h Tue Aug 16 22:34:31 2005
|
||||
--- xpdf-3.01/xpdf/Stream.h Tue Jan 17 17:19:54 2006
|
||||
***************
|
||||
*** 232,237 ****
|
||||
--- 232,239 ----
|
||||
|
||||
~StreamPredictor();
|
||||
|
||||
+ GBool isOk() { return ok; }
|
||||
+
|
||||
int lookChar();
|
||||
int getChar();
|
||||
|
||||
***************
|
||||
*** 249,254 ****
|
||||
--- 251,257 ----
|
||||
int rowBytes; // bytes per line
|
||||
Guchar *predLine; // line buffer
|
||||
int predIdx; // current index in predLine
|
||||
+ GBool ok;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
***************
|
||||
*** 527,533 ****
|
||||
short getWhiteCode();
|
||||
short getBlackCode();
|
||||
short lookBits(int n);
|
||||
! void eatBits(int n) { inputBits -= n; }
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
--- 530,536 ----
|
||||
short getWhiteCode();
|
||||
short getBlackCode();
|
||||
short lookBits(int n);
|
||||
! void eatBits(int n) { if ((inputBits -= n) < 0) inputBits = 0; }
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
diff -cr xpdf-3.01.orig/splash/SplashXPathScanner.cc xpdf-3.01/splash/SplashXPathScanner.cc
|
||||
*** xpdf-3.01.orig/splash/SplashXPathScanner.cc Tue Aug 16 22:34:31 2005
|
||||
--- xpdf-3.01/splash/SplashXPathScanner.cc Wed Feb 1 17:01:14 2006
|
||||
***************
|
||||
*** 186,192 ****
|
||||
}
|
||||
|
||||
void SplashXPathScanner::computeIntersections(int y) {
|
||||
! SplashCoord ySegMin, ySegMax, xx0, xx1;
|
||||
SplashXPathSeg *seg;
|
||||
int i, j;
|
||||
|
||||
--- 186,192 ----
|
||||
}
|
||||
|
||||
void SplashXPathScanner::computeIntersections(int y) {
|
||||
! SplashCoord xSegMin, xSegMax, ySegMin, ySegMax, xx0, xx1;
|
||||
SplashXPathSeg *seg;
|
||||
int i, j;
|
||||
|
||||
***************
|
||||
*** 236,254 ****
|
||||
} else if (seg->flags & splashXPathVert) {
|
||||
xx0 = xx1 = seg->x0;
|
||||
} else {
|
||||
! if (ySegMin <= y) {
|
||||
! // intersection with top edge
|
||||
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
|
||||
} else {
|
||||
! // x coord of segment endpoint with min y coord
|
||||
! xx0 = (seg->flags & splashXPathFlip) ? seg->x1 : seg->x0;
|
||||
}
|
||||
! if (ySegMax >= y + 1) {
|
||||
! // intersection with bottom edge
|
||||
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
|
||||
! } else {
|
||||
! // x coord of segment endpoint with max y coord
|
||||
! xx1 = (seg->flags & splashXPathFlip) ? seg->x0 : seg->x1;
|
||||
}
|
||||
}
|
||||
if (xx0 < xx1) {
|
||||
--- 236,262 ----
|
||||
} else if (seg->flags & splashXPathVert) {
|
||||
xx0 = xx1 = seg->x0;
|
||||
} else {
|
||||
! if (seg->x0 < seg->x1) {
|
||||
! xSegMin = seg->x0;
|
||||
! xSegMax = seg->x1;
|
||||
} else {
|
||||
! xSegMin = seg->x1;
|
||||
! xSegMax = seg->x0;
|
||||
}
|
||||
! // intersection with top edge
|
||||
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
|
||||
! // intersection with bottom edge
|
||||
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
|
||||
! // the segment may not actually extend to the top and/or bottom edges
|
||||
! if (xx0 < xSegMin) {
|
||||
! xx0 = xSegMin;
|
||||
! } else if (xx0 > xSegMax) {
|
||||
! xx0 = xSegMax;
|
||||
! }
|
||||
! if (xx1 < xSegMin) {
|
||||
! xx1 = xSegMin;
|
||||
! } else if (xx1 > xSegMax) {
|
||||
! xx1 = xSegMax;
|
||||
}
|
||||
}
|
||||
if (xx0 < xx1) {
|
||||
@@ -1,30 +0,0 @@
|
||||
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
|
||||
@@ -1,49 +0,0 @@
|
||||
{ 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;};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
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
|
||||
@@ -10,14 +10,5 @@ stdenv.mkDerivation {
|
||||
|
||||
# Let each plugin tell us (through its `mozillaPlugin') attribute
|
||||
# where to find the plugin in its tree.
|
||||
plugins = map (x: x + x.mozillaPlugin) plugins;
|
||||
|
||||
meta = {
|
||||
description =
|
||||
firefox.meta.description
|
||||
+ " (with plugins: "
|
||||
+ (let lib = import ../../../../lib;
|
||||
in lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins)))
|
||||
+ ")";
|
||||
};
|
||||
plugins = map (x: x ~ x.mozillaPlugin) plugins;
|
||||
}
|
||||
|
||||
@@ -1,30 +1,53 @@
|
||||
source $stdenv/setup
|
||||
|
||||
preConfigure=preConfigure
|
||||
preConfigure() {
|
||||
cat > .mozconfig <<EOF
|
||||
source \$topsrcdir/browser/config/mozconfig
|
||||
ac_add_options --prefix=$out
|
||||
ac_add_options --enable-optimize
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-xft
|
||||
ac_add_options --disable-freetype2
|
||||
#ac_add_options --enable-swg
|
||||
ac_add_options --enable-strip
|
||||
ac_add_options --enable-default-toolkit=gtk2
|
||||
#ac_add_options --disable-shared
|
||||
#ac_add_options --enable-static
|
||||
#ac_add_options --with-system-jpeg
|
||||
#ac_add_options --with-system-png
|
||||
#ac_add_options --with-system-zlib
|
||||
EOF
|
||||
}
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
|
||||
# Strip some more stuff
|
||||
strip -S $out/lib/*/* || true
|
||||
|
||||
# We don't need this (do we?)
|
||||
# rm -rf $out/include
|
||||
|
||||
# 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 .
|
||||
mv firefox ../lib/firefox-*/
|
||||
ln -s ../lib/firefox-*/firefox .
|
||||
|
||||
# Register extensions etc.
|
||||
# Register extension etc.
|
||||
echo "running firefox -register..."
|
||||
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
|
||||
(cd $out/lib/firefox-* && 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/
|
||||
(cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regxpcom) || false
|
||||
|
||||
# echo "running regchrome..."
|
||||
# (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regchrome) || false
|
||||
|
||||
}
|
||||
|
||||
makeFlags="-f client.mk build"
|
||||
|
||||
genericBuild
|
||||
|
||||
@@ -1,49 +1,18 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
|
||||
, libjpeg, libpng, zlib, cairo
|
||||
{stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi}:
|
||||
|
||||
, # 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
|
||||
|
||||
}:
|
||||
# !!! assert libIDL.glib == gtk.glib;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "firefox-1.5.0.7";
|
||||
name = "firefox-1.5";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/firefox-1.5.0.7-source.tar.bz2;
|
||||
sha1 = "f10d57af87bddc1b929ec5321688ac0efa880960";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/firefox-1.5-source.tar.bz2;
|
||||
md5 = "fa915ddcadecda30ed3e13694f26a779";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
|
||||
];
|
||||
buildInputs = [pkgconfig gtk perl zip libIDL libXi];
|
||||
inherit gtk;
|
||||
|
||||
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;};
|
||||
}
|
||||
|
||||
@@ -12,8 +12,4 @@ stdenv.mkDerivation {
|
||||
};
|
||||
configureFlags = (if sslSupport then "--with-ssl" else "");
|
||||
buildInputs = [ncurses (if sslSupport then openssl else null)];
|
||||
|
||||
meta = {
|
||||
description = "A text-mode web browser";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
# think).
|
||||
|
||||
(stdenv.mkDerivation {
|
||||
name = "mplayerplug-in-3.31";
|
||||
name = "mplayerplug-in-2.80";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/mplayerplug-in-3.31.tar.gz;
|
||||
md5 = "be26b17cde385c7a34fc634d2c88c5c9";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/mplayerplug-in-2.80.tar.gz;
|
||||
md5 = "ce3235ff7d46fae416cfb175193a5f25";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig firefox (firefox.gtk) libXpm];
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
buildPhase=buildPhase
|
||||
buildPhase() {
|
||||
true
|
||||
}
|
||||
|
||||
installPhase=installPhase
|
||||
installPhase() {
|
||||
# Note: the "no" is because the install scripts asks whether we
|
||||
# want to install icons in some system-wide directories.
|
||||
echo no | ./install.sh --prefix=$out
|
||||
|
||||
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
|
||||
|
||||
rpath=/no-such-path
|
||||
for i in $libPath; do
|
||||
rpath="$rpath:$i/lib"
|
||||
done
|
||||
|
||||
# !!! ugh, should fix this eventually; just make a normal gcc dependency
|
||||
gcc=$(cat $NIX_GCC/nix-support/orig-gcc)
|
||||
rpath="$rpath:$gcc/lib"
|
||||
|
||||
for i in $out/lib/opera/*/opera $out/lib/opera/plugins/opera*; do
|
||||
patchelf \
|
||||
--set-interpreter "$glibc/lib/ld-linux.so.2" \
|
||||
--set-rpath "$rpath" \
|
||||
"$i"
|
||||
done
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -1,23 +0,0 @@
|
||||
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5
|
||||
, motif ? null, libXt ? null}:
|
||||
|
||||
assert stdenv.system == "i686-linux";
|
||||
assert motif != null -> libXt != null;
|
||||
|
||||
# !!! Add Xinerama and Xrandr dependencies? Or should those be in Qt?
|
||||
|
||||
# Hm, does Opera 9.x still use Motif for anything?
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "opera-9.02-20060919.5";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/opera-9.02-20060919.5-shared-qt.i386-en.tar.bz2;
|
||||
md5 = "327d0bf1f3c4eedd47b444b36c9091f6";
|
||||
};
|
||||
|
||||
libPath =
|
||||
[qt motif zlib libX11 libXext libSM libICE libstdcpp5]
|
||||
++ (if motif != null then [motif libXt ] else []);
|
||||
}
|
||||
@@ -1,11 +1,8 @@
|
||||
{ stdenv, fetchurl
|
||||
, sslSupport ? true
|
||||
, graphicsSupport ? false
|
||||
, ncurses, openssl ? null, boehmgc, gettext, zlib, gdkpixbuf ? null
|
||||
{ stdenv, fetchurl, ncurses
|
||||
, sslSupport ? true, openssl ? null, boehmgc, gettext
|
||||
}:
|
||||
|
||||
assert sslSupport -> openssl != null;
|
||||
assert graphicsSupport -> gdkpixbuf != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "w3m-0.5.1";
|
||||
@@ -15,10 +12,6 @@ stdenv.mkDerivation {
|
||||
md5 = "0678b72e07e69c41709d71ef0fe5da13";
|
||||
};
|
||||
inherit openssl boehmgc;
|
||||
buildInputs = [
|
||||
ncurses boehmgc gettext zlib
|
||||
(if sslSupport then openssl else null)
|
||||
(if graphicsSupport then gdkpixbuf else null)
|
||||
];
|
||||
buildInputs = [ncurses (if sslSupport then openssl else null) boehmgc gettext];
|
||||
patches = [./bsd.patch];
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
configureFlags="--with-tcl=$tcl/lib --with-tk=$tk/lib"
|
||||
|
||||
genericBuild
|
||||
@@ -1,13 +0,0 @@
|
||||
{stdenv, fetchurl, which, tcl, tk, x11}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "amsn-0.96rc1";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/amsn-0.96rc1.tar.bz2;
|
||||
md5 = "1b90fdbb0a51c7646f4d2e6b22f18711";
|
||||
};
|
||||
|
||||
inherit tcl tk;
|
||||
buildInputs = [which tcl tk x11];
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
ensureDir $out
|
||||
unzip $src -d $out
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{stdenv, fetchurl, unzip}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "chatzilla-0.9.74";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
# Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/chatzilla-0.9.74-xr.zip;
|
||||
md5 = "a1eada15b172eab6a771afa5f8670f7a";
|
||||
};
|
||||
|
||||
buildInputs = [unzip];
|
||||
|
||||
meta = {
|
||||
description = "Stand-alone version of Chatzilla, an IRC client";
|
||||
};
|
||||
}
|
||||
@@ -1,30 +1,23 @@
|
||||
source $stdenv/setup
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
|
||||
# Strip some more stuff
|
||||
strip -S $out/lib/*/* || true
|
||||
|
||||
# This fixes starting Thunderbird when there already is a running
|
||||
# instance. The `thunderbird' wrapper script actually expects to
|
||||
# be in the same directory as `run-mozilla.sh', apparently.
|
||||
libDir=$(cd $out/lib && ls -d thunderbird-*)
|
||||
test -n "$libDir"
|
||||
cd $out/bin
|
||||
mv thunderbird ../lib/$libDir/
|
||||
ln -s ../lib/$libDir/thunderbird .
|
||||
|
||||
# Register extensions etc.
|
||||
echo "running thunderbird -register..."
|
||||
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./thunderbird-bin -register) || false
|
||||
|
||||
echo "running regxpcom..."
|
||||
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
|
||||
|
||||
# Put the Thunderbird icon in the right place.
|
||||
ensureDir $out/lib/$libDir/chrome/icons/default
|
||||
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
|
||||
preConfigure() {
|
||||
cat mail/config/mozconfig > .mozconfig
|
||||
cat >> .mozconfig <<EOF
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-optimize=-O2
|
||||
ac_add_options --disable-ldap
|
||||
ac_add_options --enable-xft
|
||||
ac_add_options --disable-freetype2
|
||||
ac_add_options --enable-swg
|
||||
ac_add_options --enable-strip
|
||||
ac_add_options --enable-default-toolkit=gtk2
|
||||
ac_add_options --enable-single-profile
|
||||
ac_add_options --prefix=$out
|
||||
EOF
|
||||
}
|
||||
|
||||
preConfigure=preConfigure
|
||||
|
||||
makeFlags="-f client.mk build"
|
||||
|
||||
genericBuild
|
||||
|
||||
@@ -1,48 +1,18 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
|
||||
, libjpeg, libpng, zlib, cairo
|
||||
|
||||
, # If you want the resulting program to call itself "Thunderbird"
|
||||
# instead of "Mail", 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, fetchurl, pkgconfig, gtk, perl, zip, libIDL}:
|
||||
|
||||
assert pkgconfig != null && gtk != null && perl != null
|
||||
&& zip != null && libIDL != null;
|
||||
|
||||
# !!! assert libIDL.glib == gtk.glib;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "thunderbird-1.5.0.7";
|
||||
name = "thunderbird-0.8";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/thunderbird-1.5.0.7-source.tar.bz2;
|
||||
sha1 = "9e5acff9bd098979dd798c0111805dc8d67479ad";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/thunderbird-source-0.8.tar.bz2;
|
||||
md5 = "76de1827d66ac482cfc4dd32e7b1e257";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-application=mail"
|
||||
"--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 Thunderbird, a full-featured email client";
|
||||
};
|
||||
buildInputs = [pkgconfig gtk perl zip libIDL];
|
||||
}
|
||||
|
||||
@@ -1,29 +1,25 @@
|
||||
{ spellChecking ? true
|
||||
, stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null, gnet
|
||||
, perl, pcre, gmime, gettext
|
||||
, libxml2, perl, pcre
|
||||
}:
|
||||
|
||||
assert pkgconfig != null && gtk != null && gnet != null
|
||||
&& perl != null && pcre != null;
|
||||
&& libxml2 != null && perl != null && pcre != null;
|
||||
assert spellChecking -> gtkspell != null /* !!! && gtk == gtkspell.gtk */;
|
||||
# !!! assert gtk.glib == gnet.glib;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "pan-0.106";
|
||||
name = "pan-0.14.2.91";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/pan-0.106.tar.bz2;
|
||||
md5 = "34cdc4b7606f09517f015a2c624044c9";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/pan-0.14.2.91.tar.bz2;
|
||||
md5 = "4770d899a1c1ba968ce96bc5aeb07b62";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig gtk gnet perl pcre gmime gettext
|
||||
pkgconfig gtk gnet libxml2 perl pcre
|
||||
(if spellChecking then gtkspell else null)
|
||||
];
|
||||
|
||||
inherit spellChecking stdenv;
|
||||
|
||||
meta = {
|
||||
description = "A GTK+-based Usenet newsreader good at both text and binaries";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{stdenv, fetchurl, perl, pkgconfig, glib, libpcap}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ethereal-0.99";
|
||||
name = "ethereal-0.10.14";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/ethereal-0.99.0.tar.bz2;
|
||||
md5 = "f9905b9d347acdc05af664a7553f7f76";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/ethereal-0.10.14.tar.bz2;
|
||||
md5 = "297f678c037f88429250830e924b8fa0";
|
||||
};
|
||||
buildInputs = [perl pkgconfig glib libpcap];
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "rsync-2.6.8";
|
||||
name = "rsync-2.6.6";
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/rsync-2.6.8.tar.gz;
|
||||
md5 = "082a9dba1f741e6591e5cd748a1233de";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/rsync-2.6.6.tar.gz;
|
||||
md5 = "30c4e2849cbeae93f55548453865c2f2";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
preConfigure() {
|
||||
cd abi
|
||||
}
|
||||
|
||||
preConfigure=preConfigure
|
||||
|
||||
genericBuild
|
||||
@@ -1,17 +0,0 @@
|
||||
{stdenv, fetchurl, pkgconfig, glib, gtk, pango
|
||||
, libglade, libgnomeprint, libgnomeprintui, libgnomecanvas
|
||||
, fribidi, libpng, popt
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "abiword-2.4.5";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/abiword-2.4.5.tar.gz;
|
||||
md5 = "e05f15936535c4b737deaa721adf8d09";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig glib gtk pango libglade libgnomeprint
|
||||
libgnomeprintui libgnomecanvas fribidi libpng popt
|
||||
];
|
||||
}
|
||||
@@ -7,8 +7,4 @@ stdenv.mkDerivation {
|
||||
md5 = "9a9a4f84ed5b6258f7ab321713adf20b";
|
||||
};
|
||||
buildInputs = [ghc zlib ncurses curl];
|
||||
|
||||
meta = {
|
||||
description = "Patch-based version management system";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
buildInputs="$openssl $zlib $db4 $httpd $swig $python $jdk $expat $patch"
|
||||
source $stdenv/setup
|
||||
|
||||
configureFlags="--without-gdbm --disable-static"
|
||||
|
||||
if test "$localServer"; then
|
||||
configureFlags="--with-berkeley-db=$db4 $configureFlags"
|
||||
fi
|
||||
|
||||
if test "$sslSupport"; then
|
||||
configureFlags="--with-ssl --with-libs=$openssl $configureFlags"
|
||||
fi
|
||||
|
||||
if test "$httpServer"; then
|
||||
configureFlags="--with-apxs=$httpd/bin/apxs --with-apr=$httpd --with-apr-util=$httpd $configureFlags"
|
||||
makeFlags="APACHE_LIBEXECDIR=$out/modules $makeFlags"
|
||||
fi
|
||||
|
||||
if test -n "$pythonBindings" -o -n "$javaSwigBindings"; then
|
||||
configureFlags="--with-swig=$swig $configureFlags"
|
||||
fi
|
||||
|
||||
if test "$javahlBindings"; then
|
||||
configureFlags="--enable-javahl --with-jdk=$jdk $configureFlags"
|
||||
fi
|
||||
|
||||
installFlags="$makeFlags"
|
||||
|
||||
|
||||
postInstall() {
|
||||
if test "$pythonBindings"; then
|
||||
make swig-py
|
||||
make install-swig-py
|
||||
fi
|
||||
if test "$javaSwigBindings"; then
|
||||
# Hack to get Java-Swig bindings to build if Python is not in
|
||||
# scope (this fails because Subversion's configure script does
|
||||
# something silly like `SWIG_JAVA_COMPILE="$SWIG_PY_COMPILE"').
|
||||
FL1='SWIG_JAVA_COMPILE=gcc'
|
||||
FL2='SWIG_JAVA_LINK=gcc -L$(SWIG_BUILD_DIR)/.libs'
|
||||
make swig-java "$FL1" "$FL2"
|
||||
make swig-java-api "$FL1" "$FL2"
|
||||
make swig-java-java "$FL1" "$FL2"
|
||||
make install-swig-java "$FL1" "$FL2"
|
||||
fi
|
||||
if test "$javahlBindings"; then
|
||||
mkdir -p subversion/bindings/java/javahl/classes # bug fix
|
||||
make javahl
|
||||
make install-javahl
|
||||
mkdir -p $out/share/doc/$name
|
||||
$jdk/bin/javadoc -d $out/share/doc/$name \
|
||||
-windowtitle "JavaHL Subversion Bindings" \
|
||||
-link http://java.sun.com/j2se/1.4.2/docs/api/ \
|
||||
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java
|
||||
fi
|
||||
}
|
||||
postInstall=postInstall
|
||||
|
||||
|
||||
genericBuild
|
||||
@@ -0,0 +1,46 @@
|
||||
{ localServer ? false
|
||||
, httpServer ? false
|
||||
, sslSupport ? false
|
||||
, compressionSupport ? false
|
||||
, pythonBindings ? false
|
||||
, javaSwigBindings ? false
|
||||
, javahlBindings ? false
|
||||
, stdenv, fetchurl
|
||||
, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, jdk ? null, zlib ? null
|
||||
}:
|
||||
|
||||
assert expat != null;
|
||||
assert localServer -> db4 != null;
|
||||
assert httpServer -> httpd != null && httpd.expat == expat;
|
||||
assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
|
||||
assert pythonBindings -> swig != null && swig.pythonSupport;
|
||||
assert javaSwigBindings -> swig != null && swig.javaSupport;
|
||||
assert javahlBindings -> jdk != null;
|
||||
assert compressionSupport -> zlib != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "subversion-1.1.4";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.1.4.tar.bz2;
|
||||
md5 = "6e557ae65b6b8d7577cc7704ede85a23";
|
||||
};
|
||||
|
||||
# This is a hopefully temporary fix for the problem that
|
||||
# libsvnjavahl.so isn't linked against libstdc++, which causes
|
||||
# loading the library into the JVM to fail.
|
||||
patches = if javahlBindings then [./javahl.patch] else [];
|
||||
|
||||
openssl = if sslSupport then openssl else null;
|
||||
zlib = if compressionSupport then zlib else null;
|
||||
httpd = if httpServer then httpd else null;
|
||||
db4 = if localServer then db4 else null;
|
||||
swig = if pythonBindings || javaSwigBindings then swig else null;
|
||||
python = if pythonBindings then swig.python else null;
|
||||
jdk = if javaSwigBindings then swig.jdk else
|
||||
if javahlBindings then jdk else null;
|
||||
|
||||
inherit expat localServer httpServer sslSupport
|
||||
pythonBindings javaSwigBindings javahlBindings;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
diff -rc subversion-orig/build-outputs.mk subversion-1.1.0-rc2/build-outputs.mk
|
||||
*** subversion-orig/build-outputs.mk 2004-08-10 20:17:32.000000000 +0200
|
||||
--- subversion-1.1.0-rc2/build-outputs.mk 2004-08-23 21:04:35.000000000 +0200
|
||||
***************
|
||||
*** 200,206 ****
|
||||
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
|
||||
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
|
||||
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
|
||||
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS)
|
||||
|
||||
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
|
||||
locale: $(locale_DEPS)
|
||||
--- 200,206 ----
|
||||
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
|
||||
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
|
||||
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
|
||||
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS) -lstdc++
|
||||
|
||||
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
|
||||
locale: $(locale_DEPS)
|
||||
@@ -17,12 +17,12 @@ assert javahlBindings -> jdk != null;
|
||||
assert compressionSupport -> zlib != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "subversion-1.3.2";
|
||||
name = "subversion-1.3.0";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.3.2.tar.bz2;
|
||||
sha1 = "688ab178db1f6acb2ad3bd99f030402621f837b6";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.3.0.tar.gz;
|
||||
sha1 = "98cb017844750d4ed26e2a811c581a644e3ad585";
|
||||
};
|
||||
|
||||
openssl = if sslSupport then openssl else null;
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
if test "$httpServer"; then
|
||||
makeFlags="APACHE_LIBEXECDIR=$out/modules $makeFlags"
|
||||
fi
|
||||
|
||||
installFlags="$makeFlags"
|
||||
|
||||
|
||||
postInstall() {
|
||||
if test "$pythonBindings"; then
|
||||
make swig-py
|
||||
make install-swig-py
|
||||
fi
|
||||
if test "$javahlBindings"; then
|
||||
mkdir -p subversion/bindings/java/javahl/classes # bug fix
|
||||
make javahl
|
||||
make install-javahl
|
||||
# Hack to prevent java.lang.UnsatisfiedLinkError: no svnjavahl in java.library.path
|
||||
cd $out/lib
|
||||
ln -s libsvnjavahl-1.so libsvnjavahl.so
|
||||
cd -
|
||||
mkdir -p $out/share/doc/$name
|
||||
$jdk/bin/javadoc -d $out/share/doc/$name \
|
||||
-windowtitle "JavaHL Subversion Bindings" \
|
||||
-link http://java.sun.com/j2se/1.4.2/docs/api/ \
|
||||
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java
|
||||
fi
|
||||
}
|
||||
postInstall=postInstall
|
||||
|
||||
|
||||
genericBuild
|
||||
@@ -1,49 +0,0 @@
|
||||
{ bdbSupport ? false
|
||||
, httpServer ? false
|
||||
, sslSupport ? false
|
||||
, compressionSupport ? false
|
||||
, pythonBindings ? false
|
||||
, javahlBindings ? false
|
||||
, stdenv, fetchurl, apr, aprutil, neon, zlib
|
||||
, httpd ? null, expat, swig ? null, jdk ? null
|
||||
}:
|
||||
|
||||
assert bdbSupport -> aprutil.bdbSupport;
|
||||
assert httpServer -> httpd != null && httpd.expat == expat;
|
||||
assert pythonBindings -> swig != null && swig.pythonSupport;
|
||||
assert javahlBindings -> jdk != null;
|
||||
assert sslSupport -> neon.sslSupport;
|
||||
assert compressionSupport -> neon.compressionSupport;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "subversion-1.4.0";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.4.0.tar.bz2;
|
||||
sha1 = "92671bba140e9b9e300b5ffb526c4a7c59aeb5b1";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[expat zlib]
|
||||
++ (if pythonBindings then [swig.python] else []);
|
||||
|
||||
configureFlags = "
|
||||
--without-gdbm --disable-static
|
||||
--with-apr=${apr} -with-apr-util=${aprutil} --with-neon=${neon}
|
||||
--disable-keychain
|
||||
${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
|
||||
${if httpServer then
|
||||
"--with-apxs=${httpd}/bin/apxs --with-apr=${httpd} --with-apr-util=${httpd}"
|
||||
else
|
||||
"--without-apxs"}
|
||||
${if pythonBindings then "--with-swig=${swig}" else "--without-swig"}
|
||||
${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
|
||||
";
|
||||
|
||||
inherit httpServer pythonBindings javahlBindings;
|
||||
|
||||
meta = {
|
||||
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
|
||||
};
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
source $stdenv/setup
|
||||
|
||||
# !!! Remove eventually.
|
||||
export _POSIX2_VERSION=199209
|
||||
|
||||
postUnpack() {
|
||||
unpackFile $fonts
|
||||
}
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
{ alsaSupport ? false, xvSupport ? true, theoraSupport ? false, cacaSupport ? false
|
||||
, xineramaSupport ? false, randrSupport ? false
|
||||
, xineramaSupport ? false
|
||||
, stdenv, fetchurl, x11, freetype, zlib
|
||||
, alsa ? null, libXv ? null, libtheora ? null, libcaca ? null
|
||||
, libXinerama ? null, libXrandr ? null
|
||||
, alsa ? null, libXv ? null, libtheora ? null, libcaca ? null, libXinerama ? null
|
||||
}:
|
||||
|
||||
assert alsaSupport -> alsa != null;
|
||||
@@ -10,15 +9,14 @@ assert xvSupport -> libXv != null;
|
||||
assert theoraSupport -> libtheora != null;
|
||||
assert cacaSupport -> libcaca != null;
|
||||
assert xineramaSupport -> libXinerama != null;
|
||||
assert randrSupport -> libXrandr != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "MPlayer-1.0pre8";
|
||||
name = "MPlayer-1.0pre7";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/MPlayer-1.0pre8.tar.bz2;
|
||||
md5 = "f82bb2bc51b6cd5e5dd96f88f6f98582";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/MPlayer-1.0pre7try2.tar.bz2;
|
||||
md5 = "aaca4fd327176c1afb463f0f047ef6f4";
|
||||
};
|
||||
fonts = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/font-arial-iso-8859-1.tar.bz2;
|
||||
@@ -36,17 +34,7 @@ stdenv.mkDerivation {
|
||||
(if theoraSupport then libtheora else null)
|
||||
(if cacaSupport then libcaca else null)
|
||||
(if xineramaSupport then libXinerama else null)
|
||||
(if randrSupport then libXrandr else null)
|
||||
];
|
||||
|
||||
configureFlags = if cacaSupport then "--enable-caca" else "--disable-caca";
|
||||
|
||||
# These fix MPlayer's aspect ratio when run in a screen rotated with
|
||||
# Xrandr.
|
||||
# See: http://itdp.de/~itdp/html/mplayer-dev-eng/2005-08/msg00427.html
|
||||
patches = [./mplayer-aspect.patch ./mplayer-pivot.patch];
|
||||
|
||||
meta = {
|
||||
description = "A movie player that supports many video formats";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,96 +0,0 @@
|
||||
diff -rc MPlayer-1.0pre8-orig/libvo/aspect.c MPlayer-1.0pre8/libvo/aspect.c
|
||||
*** MPlayer-1.0pre8-orig/libvo/aspect.c 2006-06-11 20:35:43.000000000 +0200
|
||||
--- MPlayer-1.0pre8/libvo/aspect.c 2006-07-10 18:55:11.000000000 +0200
|
||||
***************
|
||||
*** 11,16 ****
|
||||
--- 11,19 ----
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
+ int vo_physical_width = 0;
|
||||
+ int vo_physical_height = 0;
|
||||
+
|
||||
int vo_panscan_x = 0;
|
||||
int vo_panscan_y = 0;
|
||||
float vo_panscan_amount = 0;
|
||||
***************
|
||||
*** 18,24 ****
|
||||
|
||||
#include "video_out.h"
|
||||
|
||||
! float monitor_aspect=4.0/3.0;
|
||||
float monitor_pixel_aspect=0;
|
||||
extern float movie_aspect;
|
||||
|
||||
--- 21,27 ----
|
||||
|
||||
#include "video_out.h"
|
||||
|
||||
! float monitor_aspect=-1.0f;
|
||||
float monitor_pixel_aspect=0;
|
||||
extern float movie_aspect;
|
||||
|
||||
***************
|
||||
*** 48,53 ****
|
||||
--- 51,68 ----
|
||||
aspdat.preh = preh;
|
||||
}
|
||||
|
||||
+ static void init_monitor_aspect( void )
|
||||
+ {
|
||||
+ if (monitor_aspect != -1.0f) return;
|
||||
+ if (vo_physical_width == 0 || vo_physical_height == 0) {
|
||||
+ // if there's no other indication, assume square pixels
|
||||
+ vo_physical_width = aspdat.scrw;
|
||||
+ vo_physical_height = aspdat.scrh;
|
||||
+ }
|
||||
+ mp_msg(MSGT_VO,MSGL_V,"\naspect: monitor aspect detected %d:%d\n", vo_physical_width, vo_physical_height);
|
||||
+ monitor_aspect = 1.0f * vo_physical_width / vo_physical_height;
|
||||
+ }
|
||||
+
|
||||
void aspect_save_screenres(int scrw, int scrh){
|
||||
#ifdef ASPECT_DEBUG
|
||||
printf("aspect_save_screenres %dx%d \n",scrw,scrh);
|
||||
***************
|
||||
*** 56,61 ****
|
||||
--- 71,77 ----
|
||||
aspdat.scrh = scrh;
|
||||
if (monitor_pixel_aspect)
|
||||
monitor_aspect = monitor_pixel_aspect * scrw / scrh;
|
||||
+ init_monitor_aspect(); // now is a good time
|
||||
}
|
||||
|
||||
/* aspect is called with the source resolution and the
|
||||
diff -rc MPlayer-1.0pre8-orig/libvo/aspect.h MPlayer-1.0pre8/libvo/aspect.h
|
||||
*** MPlayer-1.0pre8-orig/libvo/aspect.h 2006-06-11 20:35:43.000000000 +0200
|
||||
--- MPlayer-1.0pre8/libvo/aspect.h 2006-07-10 18:52:04.000000000 +0200
|
||||
***************
|
||||
*** 2,7 ****
|
||||
--- 2,10 ----
|
||||
#define __ASPECT_H
|
||||
/* Stuff for correct aspect scaling. */
|
||||
|
||||
+ extern int vo_physical_width;
|
||||
+ extern int vo_physical_height;
|
||||
+
|
||||
extern int vo_panscan_x;
|
||||
extern int vo_panscan_y;
|
||||
extern float vo_panscan_amount;
|
||||
diff -rc MPlayer-1.0pre8-orig/libvo/x11_common.c MPlayer-1.0pre8/libvo/x11_common.c
|
||||
*** MPlayer-1.0pre8-orig/libvo/x11_common.c 2006-06-11 20:35:43.000000000 +0200
|
||||
--- MPlayer-1.0pre8/libvo/x11_common.c 2006-07-10 18:52:04.000000000 +0200
|
||||
***************
|
||||
*** 463,468 ****
|
||||
--- 463,474 ----
|
||||
if (!vo_screenheight)
|
||||
vo_screenheight = DisplayHeight(mDisplay, mScreen);
|
||||
}
|
||||
+ if (vo_physical_width == 0) {
|
||||
+ vo_physical_width = DisplayWidthMM(mDisplay, mScreen);
|
||||
+ }
|
||||
+ if (vo_physical_height == 0) {
|
||||
+ vo_physical_height = DisplayHeightMM(mDisplay, mScreen);
|
||||
+ }
|
||||
// get color depth (from root window, or the best visual):
|
||||
XGetWindowAttributes(mDisplay, mRootWin, &attribs);
|
||||
depth = attribs.depth;
|
||||
@@ -1,112 +0,0 @@
|
||||
--- MPlayer/configure.orig 2005-08-21 23:47:47.000000000 +0200
|
||||
+++ MPlayer/configure 2005-08-21 23:55:02.000000000 +0200
|
||||
@@ -162,6 +162,7 @@
|
||||
--enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
|
||||
--enable-joystick enable joystick support [disable]
|
||||
--disable-vm disable support X video mode extensions [autodetect]
|
||||
+ --disable-randr disable support for X resize and rotate extension [autodetect]
|
||||
--disable-xf86keysym disable support for 'multimedia' keys [autodetect]
|
||||
--disable-tv disable TV Interface (tv/dvb grabbers) [enable]
|
||||
--disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
|
||||
@@ -252,6 +253,7 @@
|
||||
--enable-xv build with Xv render support for X 4.x [autodetect]
|
||||
--enable-xvmc build with XvMC acceleration for X 4.x [disable]
|
||||
--enable-vm build with XF86VidMode support for X11 [autodetect]
|
||||
+ --enable-randr build with XRandR support for X11 [autodetect]
|
||||
--enable-xinerama build with Xinerama support for X11 [autodetect]
|
||||
--enable-x11 build with X11 render support [autodetect]
|
||||
--enable-fbdev build with FBDev render support [autodetect]
|
||||
@@ -1351,6 +1353,7 @@
|
||||
_mga=auto
|
||||
_xmga=auto
|
||||
_vm=auto
|
||||
+_randr=auto
|
||||
_xf86keysym=auto
|
||||
_mlib=auto
|
||||
_sgiaudio=auto
|
||||
@@ -1562,6 +1565,8 @@
|
||||
--disable-xmga) _xmga=no ;;
|
||||
--enable-vm) _vm=yes ;;
|
||||
--disable-vm) _vm=no ;;
|
||||
+ --enable-randr) _randr=yes ;;
|
||||
+ --disable-randr) _randr=no ;;
|
||||
--enable-xf86keysym) _xf86keysym=yes ;;
|
||||
--disable-xf86keysym) _xf86keysym=no ;;
|
||||
--enable-mlib) _mlib=yes ;;
|
||||
@@ -3603,6 +3608,25 @@
|
||||
fi
|
||||
echores "$_vm"
|
||||
|
||||
+# X Resize, Rotate and Reflect extension
|
||||
+echocheck "Xrandr"
|
||||
+if test "$_x11" = yes && test "$_randr" = auto; then
|
||||
+ cat > $TMPC <<EOF
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/extensions/Xrandr.h>
|
||||
+int main(void) { (void) XRRQueryExtension(0, 0, 0); return 0; }
|
||||
+EOF
|
||||
+ _randr=no
|
||||
+ cc_check $_inc_x11 -lXrandr $_ld_x11 && _randr=yes
|
||||
+fi
|
||||
+if test "$_randr" = yes ; then
|
||||
+ _def_randr='#define HAVE_XRANDR 1'
|
||||
+ _ld_randr='-lXrandr'
|
||||
+else
|
||||
+ _def_randr='#undef HAVE_XRANDR'
|
||||
+fi
|
||||
+echores "$_randr"
|
||||
+
|
||||
# Check for the presence of special keycodes, like audio control buttons
|
||||
# that XFree86 might have. Used to be bundled with the xf86vm check, but
|
||||
# has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
|
||||
@@ -6762,7 +6786,7 @@
|
||||
SLIBSUF=.so
|
||||
|
||||
# video output
|
||||
-X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
|
||||
+X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_randr $_ld_xinerama $_ld_x11 $_ld_sock
|
||||
GGI_LIB = $_ld_ggi
|
||||
MLIB_LIB = $_ld_mlib
|
||||
MLIB_INC = $_inc_mlib
|
||||
@@ -7465,6 +7489,7 @@
|
||||
$_def_xv
|
||||
$_def_xvmc
|
||||
$_def_vm
|
||||
+$_def_randr
|
||||
$_def_xf86keysym
|
||||
$_def_xinerama
|
||||
$_def_gl
|
||||
--- MPlayer/libvo/x11_common.c.orig 2005-08-21 23:56:20.000000000 +0200
|
||||
+++ MPlayer/libvo/x11_common.c 2005-08-22 00:05:17.000000000 +0200
|
||||
@@ -39,6 +39,10 @@
|
||||
#include <X11/extensions/xf86vmode.h>
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_XRANDR
|
||||
+#include <X11/extensions/Xrandr.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef HAVE_XF86XK
|
||||
#include <X11/XF86keysym.h>
|
||||
#endif
|
||||
@@ -434,6 +438,20 @@
|
||||
int clock;
|
||||
|
||||
XF86VidModeGetModeLine(mDisplay, mScreen, &clock, &modeline);
|
||||
+#ifdef HAVE_XRANDR
|
||||
+ {
|
||||
+ Rotation current_rotation;
|
||||
+
|
||||
+ XRRRotations(mDisplay, mScreen, ¤t_rotation);
|
||||
+ if ((current_rotation&RR_Rotate_90) != 0 ||
|
||||
+ (current_rotation&RR_Rotate_270) != 0) {
|
||||
+ unsigned short tmp;
|
||||
+ tmp = modeline.hdisplay;
|
||||
+ modeline.hdisplay = modeline.vdisplay;
|
||||
+ modeline.vdisplay = tmp;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
if (!vo_screenwidth)
|
||||
vo_screenwidth = modeline.hdisplay;
|
||||
if (!vo_screenheight)
|
||||
@@ -1,8 +1,8 @@
|
||||
{stdenv, fetchurl}: stdenv.mkDerivation {
|
||||
name = "MPlayer-codecs-essential-20060611";
|
||||
name = "MPlayer-codecs-essential-20050412";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/essential-20060611.tar.bz2;
|
||||
md5 = "26ec3f9feed5f89814b2ec5f436e937b";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/essential-20050412.tar.bz2;
|
||||
md5 = "5fe89bb095bdf9b4f9cda5479dbde906";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ source $makeWrapper
|
||||
|
||||
ensureDir $out/real
|
||||
|
||||
skip=143273 # Look for "BZh91" in the executable.
|
||||
skip=143209
|
||||
|
||||
(dd bs=1 count=$skip of=/dev/null && dd) < $src | (cd $out/real && tar xvfj -)
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
assert stdenv.system == "i686-linux";
|
||||
|
||||
(stdenv.mkDerivation {
|
||||
name = "RealPlayer-10.0.8.805-GOLD";
|
||||
name = "RealPlayer-10.0.3.748-GOLD";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://software-dl.real.com/25ae61d70a6855a52c14/unix/RealPlayer10GOLD.bin;
|
||||
md5 = "d28b31261059231a3e93c7466f8153e6";
|
||||
url = http://software-dl.real.com/12ae5c4cc79d437fa106/unix/RealPlayer10GOLD.bin;
|
||||
md5 = "70a88bcae0ab3e177e6fadecd6b8be24";
|
||||
};
|
||||
|
||||
makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
configureFlags="--with-sdl-mixer-incl=$SDL_mixer/include/SDL --with-sdl-incl=$SDL/include/SDL --with-plugindir=$out/plugins"
|
||||
|
||||
genericBuild
|
||||
@@ -1,17 +0,0 @@
|
||||
{stdenv, fetchurl, libX11, libXext, libXi, libXmu
|
||||
, SDL, SDL_mixer, GStreamer
|
||||
, libogg, libxml2, libjpeg, mesa, libpng}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gnash-0.7.1";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/gnash-0.7.1.tar.bz2;
|
||||
md5 = "d860981aeaac0fc941a28abc3c24223c";
|
||||
};
|
||||
|
||||
buildInputs = [libX11 libXext libXi libXmu SDL SDL_mixer GStreamer
|
||||
libogg libxml2 libjpeg mesa libpng];
|
||||
inherit SDL_mixer SDL;
|
||||
} // {mozillaPlugin = "/plugins";}
|
||||
@@ -1,21 +1,12 @@
|
||||
source $stdenv/setup
|
||||
|
||||
|
||||
# Hack - MythTV's configure searches LD_LIBRARY_PATH for its
|
||||
# dependencies.
|
||||
for i in $buildInputs; do
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}$i/lib
|
||||
done
|
||||
echo $LD_LIBRARY_PATH
|
||||
|
||||
|
||||
buildPhase=myBuilder
|
||||
myBuilder() {
|
||||
qmake mythtv.pro || fail
|
||||
make || fail
|
||||
}
|
||||
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
sqlDir="$out/share/mythtv/sql"
|
||||
@@ -23,5 +14,4 @@ postInstall() {
|
||||
cp -p ./database/mc.sql $sqlDir/
|
||||
}
|
||||
|
||||
|
||||
genericBuild
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
{ stdenv, fetchurl, which, qt3, x11
|
||||
, libX11, libXinerama, libXv, libXxf86vm, libXrandr, libXmu
|
||||
, lame, zlib, mesa}:
|
||||
{stdenv, fetchurl, which, qt3, x11, libXinerama, libXv, libXxf86vm, lame}:
|
||||
|
||||
assert qt3.mysqlSupport;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "mythtv-0.20";
|
||||
name = "mythtv-0.18.1";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/mythtv-0.20.tar.bz2;
|
||||
md5 = "52bec1e0fadf7d24d6dcac3f773ddf74";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/mythtv-0.18.1.tar.bz2;
|
||||
md5 = "e6cabf88feeaf6ae8f830d3fdf7b113d";
|
||||
};
|
||||
|
||||
configureFlags = "--disable-joystick-menu --x11-path=/no-such-path --dvb-path=/no-such-path";
|
||||
patches = [./settings.patch];
|
||||
configureFlags = "--disable-joystick-menu";
|
||||
|
||||
buildInputs = [
|
||||
which qt3 x11
|
||||
libX11 libXinerama libXv libXxf86vm libXrandr libXmu
|
||||
lame zlib mesa
|
||||
];
|
||||
|
||||
patches = [
|
||||
./settings.patch
|
||||
./purity.patch # don't search in /usr/include etc.
|
||||
];
|
||||
buildInputs = [which qt3 x11 libXinerama libXv libXxf86vm lame];
|
||||
inherit qt3;
|
||||
}
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
diff -rc mythtv-0.20-orig/configure mythtv-0.20/configure
|
||||
*** mythtv-0.20-orig/configure 2006-08-28 18:18:08.000000000 +0200
|
||||
--- mythtv-0.20/configure 2006-09-14 17:05:12.000000000 +0200
|
||||
***************
|
||||
*** 1225,1231 ****
|
||||
|
||||
has_library()
|
||||
{
|
||||
! if test -f /etc/ld.so.conf ; then
|
||||
LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
|
||||
else
|
||||
LIBPATHS=''
|
||||
--- 1225,1231 ----
|
||||
|
||||
has_library()
|
||||
{
|
||||
! if false ; then
|
||||
LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
|
||||
else
|
||||
LIBPATHS=''
|
||||
***************
|
||||
*** 1235,1241 ****
|
||||
LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
|
||||
|
||||
# recurse down just one level, should be enough in most cases
|
||||
! if test -f /etc/ld.so.conf ; then
|
||||
INCL=`cat /etc/ld.so.conf | grep -v "#" | grep "^include"`
|
||||
SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
|
||||
for x in $SRCH ; do
|
||||
--- 1235,1241 ----
|
||||
LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
|
||||
|
||||
# recurse down just one level, should be enough in most cases
|
||||
! if false ; then
|
||||
INCL=`cat /etc/ld.so.conf | grep -v "#" | grep "^include"`
|
||||
SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
|
||||
for x in $SRCH ; do
|
||||
***************
|
||||
*** 1244,1250 ****
|
||||
done
|
||||
fi
|
||||
|
||||
! LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
|
||||
|
||||
HAS_IT="no"
|
||||
for LIBPATH in $LIBPATHS ; do
|
||||
--- 1244,1250 ----
|
||||
done
|
||||
fi
|
||||
|
||||
! LIBPATHS="`echo $LIBPATHS | sed s/'\/ '/' '/g` "
|
||||
|
||||
HAS_IT="no"
|
||||
for LIBPATH in $LIBPATHS ; do
|
||||
***************
|
||||
*** 1257,1265 ****
|
||||
|
||||
has_header()
|
||||
{
|
||||
! HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
|
||||
INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
|
||||
! HPATHS="$HPATHS `echo $INCL | sed s/$libdir_name/include/g` "
|
||||
|
||||
HAS_IT="no"
|
||||
for HPATH in $HPATHS ; do
|
||||
--- 1257,1265 ----
|
||||
|
||||
has_header()
|
||||
{
|
||||
! HPATHS=""
|
||||
INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
|
||||
! HPATHS="$HPATHS `echo $INCL | sed "s/$libdir_name\($\|[\/ ]\)/include\1/g"` "
|
||||
|
||||
HAS_IT="no"
|
||||
for HPATH in $HPATHS ; do
|
||||
@@ -1,34 +1,23 @@
|
||||
{ xvSupport ? true
|
||||
, stdenv, fetchurl, perl, x11, libXv, wxGTK
|
||||
, libdvdread, libdvdnav, libdvdcss
|
||||
, zlib, mpeg2dec, a52dec, libmad, ffmpeg, alsa
|
||||
}:
|
||||
, stdenv, fetchurl, x11, libXv, wxGTK, libdvdcss, libdvdplay
|
||||
, mpeg2dec, a52dec, libmad, alsa}:
|
||||
|
||||
assert libdvdread.libdvdcss == libdvdcss;
|
||||
assert libdvdplay.libdvdread.libdvdcss == libdvdcss;
|
||||
assert xvSupport -> libXv != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "vlc-0.8.5";
|
||||
name = "vlc-0.7.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vlc-0.8.5.tar.bz2;
|
||||
md5 = "16bb5bf87ed94879a8eb7b0ff9b4f16f";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/vlc-0.7.2.tar.gz;
|
||||
md5 = "25dfcc804cb92f46c0b64ce1466515cc";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
perl x11 wxGTK
|
||||
zlib mpeg2dec a52dec libmad ffmpeg alsa
|
||||
libdvdread # <- for "simple" DVD playback
|
||||
libdvdnav libdvdcss # <- for DVD playback with menus
|
||||
x11 wxGTK libdvdcss libdvdplay libdvdplay.libdvdread
|
||||
mpeg2dec a52dec libmad alsa
|
||||
(if xvSupport then libXv else null)
|
||||
];
|
||||
|
||||
# Ensure that libdvdcss will be found without having to set LD_LIBRARY_PATH.
|
||||
NIX_LDFLAGS = "-ldvdcss";
|
||||
|
||||
configureFlags = "--enable-alsa";
|
||||
|
||||
meta = {
|
||||
description = "Cross-platform media player and streaming server";
|
||||
};
|
||||
configureFlags = "--disable-ffmpeg --enable-alsa";
|
||||
}
|
||||
|
||||
@@ -11,8 +11,4 @@ stdenv.mkDerivation {
|
||||
(if xineLib.xineramaSupport then xineLib.libXinerama else null)
|
||||
];
|
||||
configureFlags = "--without-readline --disable-xft";
|
||||
|
||||
meta = {
|
||||
description = "Xlib-based interface to Xine, a video player";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,12 +17,12 @@ assert pngSupport -> libpng != null;
|
||||
assert recordingSupport -> rte != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "zapping-0.10cvs6";
|
||||
name = "zapping-0.9.6";
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/zapping-0.10cvs6.tar.bz2;
|
||||
md5 = "6aa7614ac3fd5d39c89c2198598ad27b";
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/zapping-0.9.6.tar.bz2;
|
||||
md5 = "8306775c6a11de4d72345b5eee970ea6";
|
||||
};
|
||||
|
||||
inherit teletextSupport jpegSupport pngSupport libXext;
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
header "exporting $url $module into $out"
|
||||
|
||||
prefetch=$(dirname $out)/cvs-checkout-tmp-$outputHash
|
||||
echo $prefetch
|
||||
if test -e "$prefetch"; then
|
||||
mv $prefetch $out
|
||||
else
|
||||
if test -z "$tag"; then
|
||||
rtag="-DNOW"
|
||||
else
|
||||
rtag="-r $tag"
|
||||
fi
|
||||
cvs -f -d $url export $rtag -d $out $module
|
||||
fi
|
||||
|
||||
actual=$(nix-hash $out)
|
||||
if test "$actual" != "$outputHash"; then
|
||||
echo "hash is $actual, expected $outputHash" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
stopNest
|
||||
@@ -1,16 +0,0 @@
|
||||
{stdenv, cvs, nix}: {url, module, tag, md5}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "cvs-export";
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [cvs nix];
|
||||
|
||||
# Nix <= 0.7 compatibility.
|
||||
id = md5;
|
||||
|
||||
outputHashAlgo = "md5";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = md5;
|
||||
|
||||
inherit url module tag;
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
url=$1
|
||||
module=$2
|
||||
tag=$3
|
||||
hash=$4
|
||||
|
||||
if test -z "$url"; then
|
||||
echo "syntax: nix-prefetch-cvs URL MODULE [TAG [HASH]]" >&2
|
||||
exit 1
|
||||
elif test -z "$module"; then
|
||||
echo "syntax: nix-prefetch-cvs URL MODULE [TAG [HASH]]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use a restrictive umask to ensure that the output in the Nix store
|
||||
# is not group- or world-writable. Nix 0.10 complains about this.
|
||||
umask 0022
|
||||
|
||||
# Determine the hash, unless it was given.
|
||||
if test -z "$hash"; then
|
||||
|
||||
# !!! hacky; we should have a way to query the location of the store.
|
||||
if storeDir=$(which nix-store); then
|
||||
storeDir=$(dirname $(dirname "$storeDir"))/store
|
||||
else
|
||||
storeDir=/nix/store
|
||||
fi
|
||||
|
||||
# !!! race? should be relatively safe, `svn export' barfs if $tmpPath exists.
|
||||
cvsPath="cvs-checkout-tmp-$$"
|
||||
tmpPath1=$storeDir/$cvsPath
|
||||
|
||||
# Test whether we have write permission in the store. If not,
|
||||
# fetch to /tmp and don't copy to the store. This is a hack to
|
||||
# make this script at least work somewhat in setuid installations.
|
||||
if ! touch $tmpPath1 2> /dev/null; then
|
||||
echo "(cannot write to the store, result won't be cached)" >&2
|
||||
dummyMode=1
|
||||
tmpPath1=/tmp/nix-prefetch-cvs-$$ # !!! security?
|
||||
fi
|
||||
rm -f $tmpPath1
|
||||
|
||||
# Perform the checkout.
|
||||
if test -z "$tag"; then
|
||||
rtag="-DNOW"
|
||||
else
|
||||
rtag="-r $tag"
|
||||
fi
|
||||
# CVS has a problem with absolute paths, so cd into the nix store
|
||||
current=$(pwd)
|
||||
cd $storeDir
|
||||
cvs -f -d $url export $rtag -d $cvsPath $module >&2
|
||||
# Change back to the original directory
|
||||
cd $current
|
||||
|
||||
# Compute the hash.
|
||||
hash=$(nix-hash $tmpPath1)
|
||||
echo "hash is $hash" >&2
|
||||
|
||||
# Rename it so that the fetchcvs builder can find it.
|
||||
if test "$dummyMode" != 1; then
|
||||
tmpPath2=$storeDir/cvs-checkout-tmp-$hash
|
||||
test -e $tmpPath2 || mv $tmpPath1 $tmpPath2 # !!! race
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create a Nix expression that does a fetchcvs.
|
||||
nixExpr=$(dirname $0)/../../top-level/all-packages.nix
|
||||
storeExpr=$( \
|
||||
echo "(import $nixExpr {}).fetchcvs {url=\"$url\"; module=\"$module\"; tag=\"$tag\"; md5=\"$hash\";}" \
|
||||
| nix-instantiate -)
|
||||
|
||||
# Realise it.
|
||||
finalPath=$(nix-store -r $storeExpr)
|
||||
|
||||
echo "path is $finalPath" >&2
|
||||
|
||||
if test -n "$tmpPath1" -o -n "$tmpPath2"; then
|
||||
rm -rf $tmpPath1 $tmpPath2 || true
|
||||
fi
|
||||
|
||||
echo "debug hash is $hash" >&2
|
||||
echo $hash
|
||||
|
||||
if test -n "$PRINT_PATH"; then
|
||||
echo "debug path is $finalPath" >&2
|
||||
echo $finalPath
|
||||
fi
|
||||
@@ -2,16 +2,18 @@ source $stdenv/setup
|
||||
|
||||
header "exporting $url (r$rev) into $out"
|
||||
|
||||
if test "$sshSupport"; then
|
||||
export SVN_SSH="$openssh/bin/ssh"
|
||||
prefetch=$(dirname $out)/svn-checkout-tmp-$outputHash
|
||||
echo $prefetch
|
||||
if test -e "$prefetch"; then
|
||||
mv $prefetch $out
|
||||
else
|
||||
# Pipe the "p" character into Subversion to force it to accept the
|
||||
# server's certificate. This is perfectly safe: we don't care
|
||||
# whether the server is being spoofed --- only the cryptographic
|
||||
# hash of the output matters.
|
||||
echo 'p' | svn export -r "$rev" "$url" $out
|
||||
fi
|
||||
|
||||
# Pipe the "p" character into Subversion to force it to accept the
|
||||
# server's certificate. This is perfectly safe: we don't care
|
||||
# whether the server is being spoofed --- only the cryptographic
|
||||
# hash of the output matters.
|
||||
echo 'p' | svn export -r "$rev" "$url" $out
|
||||
|
||||
actual=$(nix-hash $out)
|
||||
if test "$actual" != "$outputHash"; then
|
||||
echo "hash is $actual, expected $outputHash" >&2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, subversion, nix, sshSupport ? false, openssh ? null}: {url, rev ? "HEAD", md5}:
|
||||
{stdenv, subversion, nix}: {url, rev ? "HEAD", md5}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "svn-export";
|
||||
@@ -12,5 +12,5 @@ stdenv.mkDerivation {
|
||||
outputHashMode = "recursive";
|
||||
outputHash = md5;
|
||||
|
||||
inherit url rev sshSupport openssh;
|
||||
inherit url rev;
|
||||
}
|
||||
|
||||
@@ -2,15 +2,10 @@
|
||||
|
||||
url=$1
|
||||
rev=$2
|
||||
expHash=$3
|
||||
|
||||
hashType=$NIX_HASH_ALGO
|
||||
if test -z "$hashType"; then
|
||||
hashType=md5
|
||||
fi
|
||||
hash=$3
|
||||
|
||||
if test -z "$url"; then
|
||||
echo "syntax: nix-prefetch-svn URL [REVISION [EXPECTED-HASH]]" >&2
|
||||
echo "syntax: nix-prefetch-svn URL [REVISION]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -20,46 +15,57 @@ test -n "$rev" || rev="HEAD"
|
||||
# is not group- or world-writable. Nix 0.10 complains about this.
|
||||
umask 0022
|
||||
|
||||
# Determine the hash, unless it was given.
|
||||
if test -z "$hash"; then
|
||||
|
||||
# If the hash was given, a file with that hash may already be in the
|
||||
# store.
|
||||
if test -n "$expHash"; then
|
||||
finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" svn-export)
|
||||
if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
|
||||
finalPath=
|
||||
# !!! hacky; we should have a way to query the location of the store.
|
||||
if storeDir=$(which nix-store); then
|
||||
storeDir=$(dirname $(dirname "$storeDir"))/store
|
||||
else
|
||||
storeDir=/nix/store
|
||||
fi
|
||||
hash=$expHash
|
||||
fi
|
||||
|
||||
# !!! race? should be relatively safe, `svn export' barfs if $tmpPath exists.
|
||||
tmpPath1=$storeDir/svn-checkout-tmp-$$
|
||||
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if test -z "$finalPath"; then
|
||||
|
||||
tmpPath=/tmp/svn-checkout-tmp-$$
|
||||
tmpFile=$tmpPath/svn-export
|
||||
mkdir $tmpPath
|
||||
|
||||
trap "rm -rf $tmpPath" EXIT
|
||||
# Test whether we have write permission in the store. If not,
|
||||
# fetch to /tmp and don't copy to the store. This is a hack to
|
||||
# make this script at least work somewhat in setuid installations.
|
||||
if ! touch $tmpPath1 2> /dev/null; then
|
||||
echo "(cannot write to the store, result won't be cached)" >&2
|
||||
dummyMode=1
|
||||
tmpPath1=/tmp/nix-prefetch-svn-$$ # !!! security?
|
||||
fi
|
||||
rm -f $tmpPath1
|
||||
|
||||
# Perform the checkout.
|
||||
# !!! remove 2>/dev/null when we have fixed the certificate hackery.
|
||||
echo p | svn export -r "$rev" "$url" $tmpFile 2>/dev/null >&2
|
||||
svn export -r "$rev" "$url" $tmpPath1 >&2
|
||||
|
||||
# Compute the hash.
|
||||
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
|
||||
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
|
||||
hash=$(nix-hash $tmpPath1)
|
||||
echo "hash is $hash" >&2
|
||||
|
||||
# Add the downloaded file to the Nix store.
|
||||
finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
|
||||
|
||||
if test -n "$expHash" -a "$expHash" != "$hash"; then
|
||||
echo "hash mismatch for URL \`$url'"
|
||||
exit 1
|
||||
# Rename it so that the fetchsvn builder can find it.
|
||||
if test "$dummyMode" != 1; then
|
||||
tmpPath2=$storeDir/svn-checkout-tmp-$hash
|
||||
test -e $tmpPath2 || mv $tmpPath1 $tmpPath2 # !!! race
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
|
||||
# Create a Nix expression that does a fetchsvn.
|
||||
nixExpr=$(dirname $(readlink -f $0))/../../system/i686-linux.nix
|
||||
storeExpr=$( \
|
||||
echo "(import $nixExpr).fetchsvn {url=\"$url\"; rev=\"$rev\"; md5=\"$hash\";}" \
|
||||
| nix-instantiate -)
|
||||
|
||||
# Realise it.
|
||||
finalPath=$(nix-store -r $storeExpr)
|
||||
|
||||
echo "path is $finalPath" >&2
|
||||
|
||||
if test -n "$tmpPath1" -o -n "$tmpPath2"; then
|
||||
rm -rf $tmpPath1 $tmpPath2 || true
|
||||
fi
|
||||
|
||||
echo $hash
|
||||
|
||||
|
||||
@@ -23,10 +23,4 @@ stdenv.mkDerivation {
|
||||
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
|
||||
|
||||
inherit url;
|
||||
|
||||
# We borrow these environment variables from the caller to allow
|
||||
# easy proxy configuration. This is impure, but a fixed-output
|
||||
# derivation like fetchurl is allowed to do so since its result is
|
||||
# by definition pure.
|
||||
impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
|
||||
}
|
||||
|
||||
@@ -13,10 +13,9 @@ if test -z "$nativeGlibc"; then
|
||||
# The dynamic linker is passed in `ldflagsBefore' to allow
|
||||
# explicit overrides of the dynamic linker by callers to gcc/ld
|
||||
# (the *last* value counts, so ours should come first).
|
||||
cflagsCompile="$cflagsCompile -B$glibc/usr/lib/ -isystem $glibc/usr/include"
|
||||
ldflags="$ldflags -L$glibc/usr/lib"
|
||||
#ldflagsBefore="-dynamic-linker $glibc/lib/ld-linux.so.2"
|
||||
ldflagsBefore="-dynamic-linker $glibc/lib/ld-uClibc.so.0"
|
||||
cflagsCompile="$cflagsCompile -B$glibc/lib/ -isystem $glibc/include"
|
||||
ldflags="$ldflags -L$glibc/lib"
|
||||
ldflagsBefore="-dynamic-linker $glibc/lib/ld-linux.so.2"
|
||||
fi
|
||||
|
||||
if test -n "$nativeTools"; then
|
||||
@@ -77,15 +76,10 @@ ln -s g++ $out/bin/c++
|
||||
mkGccWrapper $out/bin/g77 $gccPath/g77
|
||||
ln -s g77 $out/bin/f77
|
||||
|
||||
ln -s $binutils/bin/$cross-ar $out/bin/$cross-ar
|
||||
ln -s $binutils/bin/$cross-as $out/bin/$cross-as
|
||||
ln -s $binutils/bin/$cross-nm $out/bin/$cross-nm
|
||||
ln -s $binutils/bin/$cross-strip $out/bin/$cross-strip
|
||||
|
||||
|
||||
# Make a wrapper around the linker.
|
||||
doSubstitute "$ldWrapper" "$out/bin/$cross-ld"
|
||||
chmod +x "$out/bin/$cross-ld"
|
||||
doSubstitute "$ldWrapper" "$out/bin/ld"
|
||||
chmod +x "$out/bin/ld"
|
||||
|
||||
|
||||
# Emit a setup hook. Also store the path to the original GCC and
|
||||
|
||||
@@ -27,7 +27,4 @@ stdenv.mkDerivation {
|
||||
langCC = if nativeTools then true else gcc.langCC;
|
||||
langF77 = if nativeTools then false else gcc.langF77;
|
||||
shell = if shell == "" then stdenv.shell else shell;
|
||||
meta = if gcc != null then gcc.meta else
|
||||
{ description = "System C compiler wrapper";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,7 +27,4 @@ stdenv.mkDerivation {
|
||||
langCC = if nativeTools then true else gcc.langCC;
|
||||
langF77 = if nativeTools then false else gcc.langF77;
|
||||
shell = if shell == "" then stdenv.shell else shell;
|
||||
meta = if gcc != null && (gcc ? meta) then gcc.meta else
|
||||
{ description = "System C compiler wrapper";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user