From b8057ff11a14e09e507ed721f53ea704da1d24d7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 19 Feb 2007 20:18:20 +0000 Subject: [PATCH] * Latest pciutils. svn path=/nixpkgs/trunk/; revision=7914 --- .../libraries/pciutils/default.nix | 11 -- .../pciutils/pciutils-devicetype.patch | 136 ------------------ .../libraries/pciutils/pciutils-path.patch | 12 -- .../system}/pciutils/builder.sh | 3 +- pkgs/tools/system/pciutils/default.nix | 11 ++ pkgs/top-level/all-packages.nix | 4 + 6 files changed, 17 insertions(+), 160 deletions(-) delete mode 100644 pkgs/development/libraries/pciutils/default.nix delete mode 100644 pkgs/development/libraries/pciutils/pciutils-devicetype.patch delete mode 100644 pkgs/development/libraries/pciutils/pciutils-path.patch rename pkgs/{development/libraries => tools/system}/pciutils/builder.sh (88%) create mode 100644 pkgs/tools/system/pciutils/default.nix diff --git a/pkgs/development/libraries/pciutils/default.nix b/pkgs/development/libraries/pciutils/default.nix deleted file mode 100644 index 67605200170b..000000000000 --- a/pkgs/development/libraries/pciutils/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "pciutils-2.2.1"; - builder = ./builder.sh; - src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/pciutils-2.2.1.tar.bz2; - md5 = "483a08dc864ec42497ad95310bb1a8ee"; - }; - patches = [./pciutils-path.patch ./pciutils-devicetype.patch]; -} diff --git a/pkgs/development/libraries/pciutils/pciutils-devicetype.patch b/pkgs/development/libraries/pciutils/pciutils-devicetype.patch deleted file mode 100644 index 87e45b44cebd..000000000000 --- a/pkgs/development/libraries/pciutils/pciutils-devicetype.patch +++ /dev/null @@ -1,136 +0,0 @@ ---- pciutils-2.2.1/lib/sysfs.c.devicetype 2005-09-21 07:51:00.000000000 -0400 -+++ pciutils-2.2.1/lib/sysfs.c 2005-12-13 17:02:12.000000000 -0500 -@@ -164,7 +164,6 @@ - sysfs_get_resources(d); - d->irq = sysfs_get_value(d, "irq"); - d->known_fields = PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES; --#if 0 - /* - * We prefer reading these from the config registers, it's faster. - * However, it would be possible and maybe even useful to hack the kernel -@@ -173,8 +172,8 @@ - */ - d->vendor_id = sysfs_get_value(d, "vendor"); - d->device_id = sysfs_get_value(d, "device"); -- d->known_fields |= PCI_FILL_IDENT; --#endif -+ d->device_class = sysfs_get_value(d, "class") >> 8; -+ d->known_fields |= PCI_FILL_IDENT | PCI_FILL_CLASS; - } - pci_link_dev(a, d); - } ---- pciutils-2.2.1/lib/pci.h.devicetype 2005-09-10 08:10:54.000000000 -0400 -+++ pciutils-2.2.1/lib/pci.h 2005-12-13 17:02:12.000000000 -0500 -@@ -84,6 +84,7 @@ - /* These fields are set by pci_fill_info() */ - int known_fields; /* Set of info fields already known */ - u16 vendor_id, device_id; /* Identity of the device */ -+ u16 device_class; /* PCI device class */ - int irq; /* IRQ number */ - pciaddr_t base_addr[6]; /* Base addresses */ - pciaddr_t size[6]; /* Region sizes */ -@@ -118,6 +119,7 @@ - #define PCI_FILL_BASES 4 - #define PCI_FILL_ROM_BASE 8 - #define PCI_FILL_SIZES 16 -+#define PCI_FILL_CLASS 32 - #define PCI_FILL_RESCAN 0x10000 - - void pci_setup_cache(struct pci_dev *, u8 *cache, int len); ---- pciutils-2.2.1/lib/generic.c.devicetype 2004-08-13 16:15:23.000000000 -0400 -+++ pciutils-2.2.1/lib/generic.c 2005-12-13 17:02:12.000000000 -0500 -@@ -46,7 +46,8 @@ - d->func = t->func; - d->vendor_id = vd & 0xffff; - d->device_id = vd >> 16U; -- d->known_fields = PCI_FILL_IDENT; -+ d->device_class = pci_read_byte(t,PCI_CLASS_DEVICE+1) << 8 | pci_read_byte(t, PCI_CLASS_DEVICE); -+ d->known_fields = PCI_FILL_IDENT | PCI_FILL_CLASS; - d->hdrtype = ht; - pci_link_dev(a, d); - switch (ht) -@@ -86,6 +87,8 @@ - d->vendor_id = pci_read_word(d, PCI_VENDOR_ID); - d->device_id = pci_read_word(d, PCI_DEVICE_ID); - } -+ if (flags & PCI_FILL_CLASS) -+ d->device_class = pci_read_byte(d, PCI_CLASS_DEVICE+1) << 8 | pci_read_byte(d, PCI_CLASS_DEVICE); - if (flags & PCI_FILL_IRQ) - d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE); - if (flags & PCI_FILL_BASES) ---- pciutils-2.2.1/lib/example.c.devicetype 2000-03-09 03:38:33.000000000 -0500 -+++ pciutils-2.2.1/lib/example.c 2005-12-13 17:02:12.000000000 -0500 -@@ -21,7 +21,7 @@ - pci_scan_bus(pacc); /* We want to get the list of devices */ - for(dev=pacc->devices; dev; dev=dev->next) /* Iterate over all devices */ - { -- pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES); /* Fill in header info we need */ -+ pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS); /* Fill in header info we need */ - c = pci_read_word(dev, PCI_CLASS_DEVICE); /* Read config register directly */ - printf("%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d base0=%lx\n", - dev->bus, dev->dev, dev->func, dev->vendor_id, dev->device_id, ---- pciutils-2.2.1/lspci.c.devicetype 2005-11-26 06:48:29.000000000 -0500 -+++ pciutils-2.2.1/lspci.c 2005-12-13 17:04:39.000000000 -0500 -@@ -123,7 +123,7 @@ - d->config_cached += 64; - } - pci_setup_cache(p, d->config, d->config_cached); -- pci_fill_info(p, PCI_FILL_IDENT | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES); -+ pci_fill_info(p, PCI_FILL_IDENT | PCI_FILL_CLASS | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES); - return d; - } - -@@ -255,7 +255,7 @@ - printf(" %s: %s", - pci_lookup_name(pacc, classbuf, sizeof(classbuf), - PCI_LOOKUP_CLASS, -- get_conf_word(d, PCI_CLASS_DEVICE)), -+ p->device_class), - pci_lookup_name(pacc, devbuf, sizeof(devbuf), - PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE, - p->vendor_id, p->device_id)); -@@ -267,7 +267,7 @@ - c = get_conf_byte(d, PCI_CLASS_PROG); - x = pci_lookup_name(pacc, devbuf, sizeof(devbuf), - PCI_LOOKUP_PROGIF | PCI_LOOKUP_NO_NUMBERS, -- get_conf_word(d, PCI_CLASS_DEVICE), c); -+ p->device_class, c); - if (c || x) - { - printf(" (prog-if %02x", c); -@@ -1585,7 +1585,7 @@ - struct pci_dev *p = d->dev; - word status = get_conf_word(d, PCI_STATUS); - word cmd = get_conf_word(d, PCI_COMMAND); -- word class = get_conf_word(d, PCI_CLASS_DEVICE); -+ word class = p->device_class; - byte bist = get_conf_byte(d, PCI_BIST); - byte htype = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f; - byte latency = get_conf_byte(d, PCI_LATENCY_TIMER); -@@ -1783,7 +1783,7 @@ - show_slot_name(d); - putchar('\n'); - printf("Class:\t%s\n", -- pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, get_conf_word(d, PCI_CLASS_DEVICE))); -+ pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, p->device_class)); - printf("Vendor:\t%s\n", - pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR, p->vendor_id, p->device_id)); - printf("Device:\t%s\n", -@@ -1805,7 +1805,7 @@ - show_slot_name(d); - printf(" \"%s\" \"%s\" \"%s\"", - pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, -- get_conf_word(d, PCI_CLASS_DEVICE)), -+ p->device_class), - pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR, - p->vendor_id, p->device_id), - pci_lookup_name(pacc, devbuf, sizeof(devbuf), PCI_LOOKUP_DEVICE, -@@ -1929,7 +1929,7 @@ - last_br = &host_bridge.chain; - for(d=first_dev; d; d=d->next) - { -- word class = get_conf_word(d, PCI_CLASS_DEVICE); -+ word class = d->dev->device_class; - byte ht = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f; - if (class == PCI_CLASS_BRIDGE_PCI && - (ht == PCI_HEADER_TYPE_BRIDGE || ht == PCI_HEADER_TYPE_CARDBUS)) diff --git a/pkgs/development/libraries/pciutils/pciutils-path.patch b/pkgs/development/libraries/pciutils/pciutils-path.patch deleted file mode 100644 index fb46403735a1..000000000000 --- a/pkgs/development/libraries/pciutils/pciutils-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN pciutils-2.2.1/Makefile pciutils-2.2.1.new/Makefile ---- pciutils-2.2.1/Makefile 2005-11-26 14:00:57.000000000 +0100 -+++ pciutils-2.2.1.new/Makefile 2005-12-23 15:24:14.000000000 +0100 -@@ -7,7 +7,7 @@ - VERSION=2.2.1 - DATE=2005-11-26 - --PREFIX=/usr/local -+PREFIX=$(out) - SBINDIR=$(PREFIX)/sbin - SHAREDIR=$(PREFIX)/share - IDSDIR=$(SHAREDIR) diff --git a/pkgs/development/libraries/pciutils/builder.sh b/pkgs/tools/system/pciutils/builder.sh similarity index 88% rename from pkgs/development/libraries/pciutils/builder.sh rename to pkgs/tools/system/pciutils/builder.sh index cba1da836fc7..d61eaf5dec32 100644 --- a/pkgs/development/libraries/pciutils/builder.sh +++ b/pkgs/tools/system/pciutils/builder.sh @@ -1,5 +1,6 @@ source $stdenv/setup +postInstall=postInstall postInstall() { ensureDir $out/lib ensureDir $out/include/pci @@ -7,6 +8,6 @@ postInstall() { cp lib/libpci.a $out/lib } -postInstall=postInstall +makeFlags="PREFIX=$out" genericBuild diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix new file mode 100644 index 000000000000..200d7a16e4fa --- /dev/null +++ b/pkgs/tools/system/pciutils/default.nix @@ -0,0 +1,11 @@ +{stdenv, fetchurl, zlib}: + +stdenv.mkDerivation { + name = "pciutils-2.2.4"; + builder = ./builder.sh; + src = fetchurl { + url = ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/pciutils-2.2.4.tar.gz; + sha256 = "17vaa1rij0q2xj8z8b8c6qq7a4g65gj419dsz067zlf6i3v0gz32"; + }; + buildInputs = [zlib]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb7c68286cce..851875f407a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -457,6 +457,10 @@ rec { patch = useFromStdenv (stdenv ? patch) stdenv.patch gnupatch; + pciutils = import ../tools/system/pciutils { + inherit fetchurl stdenv zlib; + }; + ploticus = import ../tools/graphics/ploticus { inherit fetchurl stdenv zlib libpng; inherit (xlibs) libX11;