You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

594 lines
22 KiB

gnu: Separate Python core packages from the rest. * gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references.
3 years ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
2 years ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
  3. ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
  4. ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
  5. ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
  6. ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
  7. ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
  8. ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
  9. ;;;
  10. ;;; This file is part of GNU Guix.
  11. ;;;
  12. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  13. ;;; under the terms of the GNU General Public License as published by
  14. ;;; the Free Software Foundation; either version 3 of the License, or (at
  15. ;;; your option) any later version.
  16. ;;;
  17. ;;; GNU Guix is distributed in the hope that it will be useful, but
  18. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  19. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. ;;; GNU General Public License for more details.
  21. ;;;
  22. ;;; You should have received a copy of the GNU General Public License
  23. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  24. (define-module (gnu packages graph)
  25. #:use-module (guix download)
  26. #:use-module (guix git-download)
  27. #:use-module (guix packages)
  28. #:use-module (guix utils)
  29. #:use-module (guix build-system cmake)
  30. #:use-module (guix build-system gnu)
  31. #:use-module (guix build-system python)
  32. #:use-module (guix build-system r)
  33. #:use-module ((guix licenses) #:prefix license:)
  34. #:use-module (gnu packages)
  35. #:use-module (gnu packages gcc)
  36. #:use-module (gnu packages autotools)
  37. #:use-module (gnu packages bioconductor)
  38. #:use-module (gnu packages bioinformatics)
  39. #:use-module (gnu packages check)
  40. #:use-module (gnu packages compression)
  41. #:use-module (gnu packages cran)
  42. #:use-module (gnu packages gd)
  43. #:use-module (gnu packages graphviz)
  44. #:use-module (gnu packages maths)
  45. #:use-module (gnu packages multiprecision)
  46. #:use-module (gnu packages pkg-config)
  47. #:use-module (gnu packages python)
  48. #:use-module (gnu packages python-science)
  49. #:use-module (gnu packages python-web)
  50. #:use-module (gnu packages python-xyz)
  51. #:use-module (gnu packages statistics)
  52. #:use-module (gnu packages swig)
  53. #:use-module (gnu packages time)
  54. #:use-module (gnu packages xml))
  55. (define-public igraph
  56. (package
  57. (name "igraph")
  58. (version "0.8.1")
  59. (source
  60. (origin
  61. (method url-fetch)
  62. (uri (string-append "https://github.com/igraph/igraph/releases/"
  63. "download/" version "/igraph-" version ".tar.gz"))
  64. (sha256
  65. (base32 "0wbvrac3ip3lqmbkckhnxa2swlbc86l1h8mazdlb618kx3winvi6"))))
  66. (build-system gnu-build-system)
  67. (arguments
  68. `(#:configure-flags
  69. (list "--with-external-glpk"
  70. "--with-external-blas"
  71. "--with-external-lapack")))
  72. (inputs
  73. `(("gmp" ,gmp)
  74. ("glpk" ,glpk)
  75. ("libxml2" ,libxml2)
  76. ("lapack" ,lapack)
  77. ("openblas" ,openblas)
  78. ("zlib" ,zlib)))
  79. (home-page "https://igraph.org")
  80. (synopsis "Network analysis and visualization")
  81. (description
  82. "This package provides a library for the analysis of networks and graphs.
  83. It can handle large graphs very well and provides functions for generating
  84. random and regular graphs, graph visualization, centrality methods and much
  85. more.")
  86. (license license:gpl2+)))
  87. (define-public python-igraph
  88. (package (inherit igraph)
  89. (name "python-igraph")
  90. (version "0.8.0")
  91. (source
  92. (origin
  93. (method url-fetch)
  94. (uri (pypi-uri "python-igraph" version))
  95. (sha256
  96. (base32
  97. "13mbrlmnbgbzw6y8ws7wj0a3ly3in8j4l1ngi6yxvgvxxi4bprj7"))))
  98. (build-system python-build-system)
  99. (arguments
  100. '(#:configure-flags
  101. (list "--use-pkg-config")
  102. #:phases
  103. (modify-phases %standard-phases
  104. (replace 'build
  105. (lambda _
  106. (invoke "python" "./setup.py" "build" "--use-pkg-config")))
  107. (delete 'check)
  108. (add-after 'install 'check
  109. (lambda* (#:key inputs outputs #:allow-other-keys)
  110. (add-installed-pythonpath inputs outputs)
  111. (invoke "pytest" "-v"))))))
  112. (inputs
  113. `(("igraph" ,igraph)))
  114. (propagated-inputs
  115. `(("python-texttable" ,python-texttable)))
  116. (native-inputs
  117. `(("pkg-config" ,pkg-config)
  118. ("python-pytest" ,python-pytest)))
  119. (home-page "https://pypi.org/project/python-igraph/")
  120. (synopsis "Python bindings for the igraph network analysis library")))
  121. (define-public r-igraph
  122. (package
  123. (name "r-igraph")
  124. (version "1.2.5")
  125. (source
  126. (origin
  127. (method url-fetch)
  128. (uri (cran-uri "igraph" version))
  129. (sha256
  130. (base32
  131. "126z1ygbmi3g7hk97snf22rnx680dyi30idssm5zacba5rdngp8c"))))
  132. (build-system r-build-system)
  133. (native-inputs
  134. `(("gfortran" ,gfortran)))
  135. (inputs
  136. `(("gmp" ,gmp)
  137. ("glpk" ,glpk)
  138. ("libxml2" ,libxml2)
  139. ("zlib" ,zlib)))
  140. (propagated-inputs
  141. `(("r-magrittr" ,r-magrittr)
  142. ("r-matrix" ,r-matrix)
  143. ("r-pkgconfig" ,r-pkgconfig)))
  144. (home-page "https://igraph.org")
  145. (synopsis "Network analysis and visualization")
  146. (description
  147. "This package provides routines for simple graphs and network analysis.
  148. It can handle large graphs very well and provides functions for generating
  149. random and regular graphs, graph visualization, centrality methods and much
  150. more.")
  151. (license license:gpl2+)))
  152. (define-public r-diffusionmap
  153. (package
  154. (name "r-diffusionmap")
  155. (version "1.2.0")
  156. (source
  157. (origin
  158. (method url-fetch)
  159. (uri (cran-uri "diffusionMap" version))
  160. (sha256
  161. (base32
  162. "1rvk7069brlm1s9kqj4c31mwwr3mw4hmhay95cjjjfmw5xclff2j"))))
  163. (properties `((upstream-name . "diffusionMap")))
  164. (build-system r-build-system)
  165. (propagated-inputs
  166. `(("r-igraph" ,r-igraph)
  167. ("r-matrix" ,r-matrix)
  168. ("r-scatterplot3d" ,r-scatterplot3d)))
  169. (home-page "https://www.r-project.org")
  170. (synopsis "Diffusion map")
  171. (description "This package implements the diffusion map method of data
  172. parametrization, including creation and visualization of diffusion maps,
  173. clustering with diffusion K-means and regression using the adaptive regression
  174. model.")
  175. (license license:gpl2)))
  176. (define-public r-rgraphviz
  177. (package
  178. (name "r-rgraphviz")
  179. (version "2.32.0")
  180. (source
  181. (origin
  182. (method url-fetch)
  183. (uri (bioconductor-uri "Rgraphviz" version))
  184. (sha256
  185. (base32
  186. "1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y"))))
  187. (properties `((upstream-name . "Rgraphviz")))
  188. (build-system r-build-system)
  189. ;; FIXME: Rgraphviz bundles the sources of an older variant of
  190. ;; graphviz. It does not build with the latest version of graphviz, so
  191. ;; we do not add graphviz to the inputs.
  192. (inputs `(("zlib" ,zlib)))
  193. (propagated-inputs
  194. `(("r-graph" ,r-graph)))
  195. (native-inputs
  196. `(("pkg-config" ,pkg-config)))
  197. (home-page "https://bioconductor.org/packages/Rgraphviz")
  198. (synopsis "Plotting capabilities for R graph objects")
  199. (description
  200. "This package interfaces R with the graphviz library for plotting R graph
  201. objects from the @code{graph} package.")
  202. (license license:epl1.0)))
  203. (define-public r-rbiofabric
  204. (let ((commit "666c2ae8b0a537c006592d067fac6285f71890ac")
  205. (revision "1"))
  206. (package
  207. (name "r-rbiofabric")
  208. (version (string-append "0.3-" revision "." (string-take commit 7)))
  209. (source (origin
  210. (method git-fetch)
  211. (uri (git-reference
  212. (url "https://github.com/wjrl/RBioFabric")
  213. (commit commit)))
  214. (file-name (string-append name "-" version "-checkout"))
  215. (sha256
  216. (base32
  217. "1yahqrcrqpbcywv73y9rlmyz8apdnp08afialibrr93ch0p06f8z"))))
  218. (build-system r-build-system)
  219. (propagated-inputs
  220. `(("r-igraph" ,r-igraph)))
  221. (home-page "http://www.biofabric.org/")
  222. (synopsis "BioFabric network visualization")
  223. (description "This package provides an implementation of the function
  224. @code{bioFabric} for creating scalable network digrams where nodes are
  225. represented by horizontal lines, and edges are represented by vertical
  226. lines.")
  227. (license license:expat))))
  228. (define-public python-plotly
  229. (package
  230. (name "python-plotly")
  231. (version "4.8.1")
  232. (source (origin
  233. (method git-fetch)
  234. (uri (git-reference
  235. (url "https://github.com/plotly/plotly.py")
  236. (commit (string-append "v" version))))
  237. (file-name (git-file-name name version))
  238. (sha256
  239. (base32
  240. "08ab677gr85m10zhixr6dnmlfws8q6sra7nhyb8nf3r8dx1ffqhz"))))
  241. (build-system python-build-system)
  242. (arguments
  243. `(#:phases
  244. (modify-phases %standard-phases
  245. (add-after 'unpack 'chdir
  246. (lambda _
  247. (chdir "packages/python/plotly")
  248. #t))
  249. (replace 'check
  250. (lambda _
  251. (invoke "pytest" "-x" "plotly/tests/test_core")
  252. (invoke "pytest" "-x" "plotly/tests/test_io")
  253. ;; FIXME: Add optional dependencies and enable their tests.
  254. ;; (invoke "pytest" "-x" "plotly/tests/test_optional")
  255. (invoke "pytest" "_plotly_utils/tests")))
  256. (add-before 'reset-gzip-timestamps 'make-files-writable
  257. (lambda* (#:key outputs #:allow-other-keys)
  258. (let ((out (assoc-ref outputs "out")))
  259. (for-each (lambda (file) (chmod file #o644))
  260. (find-files out "\\.gz"))
  261. #t))))))
  262. (native-inputs
  263. `(("python-pytest" ,python-pytest)))
  264. (propagated-inputs
  265. `(("python-decorator" ,python-decorator)
  266. ("python-ipywidgets" ,python-ipywidgets)
  267. ("python-pandas" ,python-pandas)
  268. ("python-requests" ,python-requests)
  269. ("python-retrying" ,python-retrying)
  270. ("python-six" ,python-six)
  271. ("python-statsmodels" ,python-statsmodels)
  272. ("python-xarray" ,python-xarray)))
  273. (home-page "https://plotly.com/python/")
  274. (synopsis "Interactive plotting library for Python")
  275. (description "Plotly's Python graphing library makes interactive,
  276. publication-quality graphs online. Examples of how to make line plots, scatter
  277. plots, area charts, bar charts, error bars, box plots, histograms, heatmaps,
  278. subplots, multiple-axes, polar charts, and bubble charts. ")
  279. (license license:expat)))
  280. (define-public python-plotly-2.4.1
  281. (package (inherit python-plotly)
  282. (version "2.4.1")
  283. (source
  284. (origin
  285. (method url-fetch)
  286. (uri (pypi-uri "plotly" version))
  287. (sha256
  288. (base32
  289. "0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m"))))
  290. (native-inputs '())
  291. (propagated-inputs
  292. `(("python-decorator" ,python-decorator)
  293. ("python-nbformat" ,python-nbformat)
  294. ("python-pandas" ,python-pandas)
  295. ("python-pytz" ,python-pytz)
  296. ("python-requests" ,python-requests)
  297. ("python-six" ,python-six)))
  298. (arguments
  299. '(#:tests? #f)))) ; The tests are not distributed in the release
  300. (define-public python2-plotly
  301. (package-with-python2 python-plotly-2.4.1))
  302. (define-public python-louvain
  303. (package
  304. (name "python-louvain")
  305. (version "0.6.1")
  306. ;; The tarball on Pypi does not include the tests.
  307. (source (origin
  308. (method git-fetch)
  309. (uri (git-reference
  310. (url "https://github.com/vtraag/louvain-igraph")
  311. (commit version)))
  312. (file-name (git-file-name name version))
  313. (sha256
  314. (base32
  315. "0w31537sifkf65sck1iaip5i6d8g64pa3wdwad83d6p9jwkck57k"))))
  316. (build-system python-build-system)
  317. (propagated-inputs
  318. `(("python-ddt" ,python-ddt)
  319. ("python-igraph" ,python-igraph)))
  320. (inputs
  321. `(("igraph" ,igraph)))
  322. (native-inputs
  323. `(("pkg-config" ,pkg-config)
  324. ("python-pytest" ,python-pytest)))
  325. (home-page "https://github.com/vtraag/louvain-igraph")
  326. (synopsis "Algorithm for methods of community detection in large networks")
  327. (description
  328. "This package provides an implementation of the Louvain algorithm for use
  329. with igraph. Louvain is a general algorithm for methods of community
  330. detection in large networks.
  331. This package has been superseded by the @code{leidenalg} package and should
  332. not be used for new projects.")
  333. (license license:gpl3+)))
  334. (define-public faiss
  335. (package
  336. (name "faiss")
  337. (version "1.5.0")
  338. (source (origin
  339. (method git-fetch)
  340. (uri (git-reference
  341. (url "https://github.com/facebookresearch/faiss")
  342. (commit (string-append "v" version))))
  343. (file-name (git-file-name name version))
  344. (sha256
  345. (base32
  346. "0pk15jfa775cy2pqmzq62nhd6zfjxmpvz5h731197c28aq3zw39w"))
  347. (modules '((guix build utils)))
  348. (snippet
  349. '(begin
  350. (substitute* "utils.cpp"
  351. (("#include <immintrin.h>")
  352. "#ifdef __SSE__\n#include <immintrin.h>\n#endif"))
  353. #t))))
  354. (build-system cmake-build-system)
  355. (arguments
  356. `(#:configure-flags
  357. (list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA.
  358. "-DBUILD_TUTORIAL=OFF") ; we don't need those
  359. #:phases
  360. (modify-phases %standard-phases
  361. (add-after 'unpack 'prepare-build
  362. (lambda _
  363. (let ((features (list ,@(let ((system (or (%current-target-system)
  364. (%current-system))))
  365. (cond
  366. ((string-prefix? "x86_64" system)
  367. '("-mavx" "-msse2" "-mpopcnt"))
  368. ((string-prefix? "i686" system)
  369. '("-msse2" "-mpopcnt"))
  370. (else
  371. '()))))))
  372. (substitute* "CMakeLists.txt"
  373. (("-m64") "")
  374. (("-mpopcnt") "") ; only some architectures
  375. (("-msse4")
  376. (string-append
  377. (string-join features)
  378. " -I" (getcwd)))
  379. ;; Build also the shared library
  380. (("ARCHIVE DESTINATION lib")
  381. "LIBRARY DESTINATION lib")
  382. (("add_library.*" m)
  383. "\
  384. add_library(objlib OBJECT ${faiss_cpu_headers} ${faiss_cpu_cpp})
  385. set_property(TARGET objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
  386. add_library(${faiss_lib}_static STATIC $<TARGET_OBJECTS:objlib>)
  387. add_library(${faiss_lib} SHARED $<TARGET_OBJECTS:objlib>)
  388. install(TARGETS ${faiss_lib}_static ARCHIVE DESTINATION lib)
  389. \n")))
  390. ;; See https://github.com/facebookresearch/faiss/issues/520
  391. (substitute* "IndexScalarQuantizer.cpp"
  392. (("#define USE_AVX") ""))
  393. ;; Make header files available for compiling tests.
  394. (mkdir-p "faiss")
  395. (for-each (lambda (file)
  396. (mkdir-p (string-append "faiss/" (dirname file)))
  397. (copy-file file (string-append "faiss/" file)))
  398. (find-files "." "\\.h$"))
  399. #t))
  400. (replace 'check
  401. (lambda _
  402. (invoke "make" "-C" "tests"
  403. (format #f "-j~a" (parallel-job-count)))))
  404. (add-after 'install 'remove-tests
  405. (lambda* (#:key outputs #:allow-other-keys)
  406. (delete-file-recursively
  407. (string-append (assoc-ref outputs "out")
  408. "/test"))
  409. #t)))))
  410. (inputs
  411. `(("openblas" ,openblas)))
  412. (native-inputs
  413. `(("googletest" ,googletest)))
  414. (home-page "https://github.com/facebookresearch/faiss")
  415. (synopsis "Efficient similarity search and clustering of dense vectors")
  416. (description "Faiss is a library for efficient similarity search and
  417. clustering of dense vectors. It contains algorithms that search in sets of
  418. vectors of any size, up to ones that possibly do not fit in RAM. It also
  419. contains supporting code for evaluation and parameter tuning.")
  420. (license license:bsd-3)))
  421. (define-public python-faiss
  422. (package (inherit faiss)
  423. (name "python-faiss")
  424. (build-system python-build-system)
  425. (arguments
  426. `(#:phases
  427. (modify-phases %standard-phases
  428. (add-after 'unpack 'chdir
  429. (lambda _ (chdir "python") #t))
  430. (add-after 'chdir 'build-swig
  431. (lambda* (#:key inputs #:allow-other-keys)
  432. (with-output-to-file "../makefile.inc"
  433. (lambda ()
  434. (let ((python-version ,(version-major+minor (package-version python))))
  435. (format #t "\
  436. PYTHONCFLAGS =-I~a/include/python~am/ -I~a/lib/python~a/site-packages/numpy/core/include
  437. LIBS = -lpython~am -lfaiss
  438. SHAREDFLAGS = -shared -fopenmp
  439. CXXFLAGS = -fpermissive -fopenmp -fPIC
  440. CPUFLAGS = ~{~a ~}~%"
  441. (assoc-ref inputs "python*") python-version
  442. (assoc-ref inputs "python-numpy") python-version
  443. python-version
  444. (list ,@(let ((system (or (%current-target-system)
  445. (%current-system))))
  446. (cond
  447. ((string-prefix? "x86_64" system)
  448. '("-mavx" "-msse2" "-mpopcnt"))
  449. ((string-prefix? "i686" system)
  450. '("-msse2" "-mpopcnt"))
  451. (else
  452. '()))))))))
  453. (substitute* "Makefile"
  454. (("../libfaiss.a") ""))
  455. (invoke "make" "cpu"))))))
  456. (inputs
  457. `(("faiss" ,faiss)
  458. ("openblas" ,openblas)
  459. ("python*" ,python)
  460. ("swig" ,swig)))
  461. (propagated-inputs
  462. `(("python-matplotlib" ,python-matplotlib)
  463. ("python-numpy" ,python-numpy)))
  464. (description "Faiss is a library for efficient similarity search and
  465. clustering of dense vectors. This package provides Python bindings to the
  466. Faiss library.")))
  467. (define-public python-leidenalg
  468. (package
  469. (name "python-leidenalg")
  470. (version "0.7.0")
  471. (source
  472. (origin
  473. (method url-fetch)
  474. (uri (pypi-uri "leidenalg" version))
  475. (sha256
  476. (base32
  477. "15fwld9hdw357rd026mzcwpah5liy4f33vc9x9kwy37g71b2rjf1"))))
  478. (build-system python-build-system)
  479. (arguments '(#:tests? #f)) ; tests are not included
  480. (native-inputs
  481. `(("pkg-config" ,pkg-config)))
  482. (inputs
  483. `(("igraph" ,igraph)))
  484. (propagated-inputs
  485. `(("python-igraph" ,python-igraph)))
  486. (home-page "https://github.com/vtraag/leidenalg")
  487. (synopsis "Community detection in large networks")
  488. (description
  489. "Leiden is a general algorithm for methods of community detection in
  490. large networks. This package implements the Leiden algorithm in C++ and
  491. exposes it to Python. Besides the relative flexibility of the implementation,
  492. it also scales well, and can be run on graphs of millions of nodes (as long as
  493. they can fit in memory). The core function is @code{find_partition} which
  494. finds the optimal partition using the Leiden algorithm, which is an extension
  495. of the Louvain algorithm, for a number of different methods.")
  496. (license license:gpl3+)))
  497. (define-public edge-addition-planarity-suite
  498. (package
  499. (name "edge-addition-planarity-suite")
  500. (version "3.0.0.5")
  501. (source
  502. (origin
  503. (method git-fetch)
  504. (uri (git-reference
  505. (url (string-append "https://github.com/graph-algorithms/"
  506. name))
  507. (commit (string-append "Version_" version))))
  508. (file-name (git-file-name name version))
  509. (sha256
  510. (base32
  511. "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8"))))
  512. (build-system gnu-build-system)
  513. (native-inputs
  514. `(("autoconf" ,autoconf)
  515. ("automake" ,automake)
  516. ("libtool" ,libtool)))
  517. (synopsis "Embedding of planar graphs")
  518. (description "The package provides a reference implementation of the
  519. linear time edge addition algorithm for embedding planar graphs and
  520. isolating planarity obstructions.")
  521. (license license:bsd-3)
  522. (home-page
  523. "https://github.com/graph-algorithms/edge-addition-planarity-suite")))
  524. (define-public rw
  525. (package
  526. (name "rw")
  527. ;; There is a version 0.8, but the tarball is broken with symlinks
  528. ;; to /usr/share.
  529. (version "0.7")
  530. (source (origin
  531. (method url-fetch)
  532. (uri (string-append "mirror://sourceforge/rankwidth/"
  533. "rw-" version ".tar.gz"))
  534. (sha256
  535. (base32
  536. "1rv2v42x2506x7f10349m1wpmmfxrv9l032bkminni2gbip9cjg0"))))
  537. (build-system gnu-build-system)
  538. (native-inputs
  539. `(("pkg-config" ,pkg-config)))
  540. (inputs
  541. `(("igraph" ,igraph)))
  542. (home-page "https://sourceforge.net/projects/rankwidth/")
  543. (synopsis "Rank-width and rank-decomposition of graphs")
  544. (description "rw computes rank-width and rank-decompositions
  545. of graphs.")
  546. (license license:gpl2+)))
  547. (define-public mscgen
  548. (package
  549. (name "mscgen")
  550. (version "0.20")
  551. (source
  552. (origin
  553. (method url-fetch)
  554. (uri (string-append "http://www.mcternan.me.uk/mscgen/software/mscgen-src-"
  555. version ".tar.gz"))
  556. (sha256
  557. (base32
  558. "08yw3maxhn5fl1lff81gmcrpa4j9aas4mmby1g9w5qcr0np82d1w"))))
  559. (build-system gnu-build-system)
  560. (native-inputs
  561. `(("pkg-config" ,pkg-config)))
  562. (inputs
  563. `(("gd" ,gd)))
  564. (home-page "http://www.mcternan.me.uk/mscgen/")
  565. (synopsis "Message Sequence Chart Generator")
  566. (description "Mscgen is a small program that parses Message Sequence Chart
  567. descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as
  568. the output. Message Sequence Charts (MSCs) are a way of representing entities
  569. and interactions over some time period and are often used in combination with
  570. SDL. MSCs are popular in Telecoms to specify how protocols operate although
  571. MSCs need not be complicated to create or use. Mscgen aims to provide a simple
  572. text language that is clear to create, edit and understand, which can also be
  573. transformed into common image formats for display or printing.")
  574. (license license:gpl2+)))