From 09748a352729762dacb8e6171752aaa6d03df85d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Oct 2017 14:15:08 -0400 Subject: [PATCH 001/116] gnu: wpa-supplicant: Fix "KRACK" key reinstallation attacks [security fixes]. Fixes CVE-2017-{13078,13079,13080,13081,13082,13087,13088}. See these announcements for more information: https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt https://www.krackattacks.com/ * gnu/packages/patches/wpa-supplicant-CVE-2017-13082.patch, gnu/packages/patches/wpa-supplicant-fix-key-reuse.patch, gnu/packages/patches/wpa-supplicant-fix-nonce-reuse.patch gnu/packages/patches/wpa-supplicant-fix-zeroed-keys.patch, gnu/packages/patches/wpa-supplicant-krack-followups.patch: New files. * gnu/packages/admin.scm (wpa-supplicant-minimal)[source]: Use them. * gnu/local.mk (dist_patch_DATA): Add them. --- gnu/local.mk | 5 + gnu/packages/admin.scm | 5 + .../wpa-supplicant-CVE-2017-13082.patch | 182 +++++++ .../wpa-supplicant-fix-key-reuse.patch | 448 ++++++++++++++++++ .../wpa-supplicant-fix-nonce-reuse.patch | 72 +++ .../wpa-supplicant-fix-zeroed-keys.patch | 86 ++++ .../wpa-supplicant-krack-followups.patch | 275 +++++++++++ 7 files changed, 1073 insertions(+) create mode 100644 gnu/packages/patches/wpa-supplicant-CVE-2017-13082.patch create mode 100644 gnu/packages/patches/wpa-supplicant-fix-key-reuse.patch create mode 100644 gnu/packages/patches/wpa-supplicant-fix-nonce-reuse.patch create mode 100644 gnu/packages/patches/wpa-supplicant-fix-zeroed-keys.patch create mode 100644 gnu/packages/patches/wpa-supplicant-krack-followups.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9defe9d583..f648dda141 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1104,6 +1104,11 @@ dist_patch_DATA = \ %D%/packages/patches/wordnet-CVE-2008-2149.patch \ %D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \ %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \ + %D%/packages/patches/wpa-supplicant-CVE-2017-13082.patch \ + %D%/packages/patches/wpa-supplicant-fix-key-reuse.patch \ + %D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \ + %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ + %D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/xcb-proto-python3-print.patch \ %D%/packages/patches/xcb-proto-python3-whitespace.patch \ %D%/packages/patches/xdotool-fix-makefile.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index bc8dc48f0e..23024fc363 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -902,6 +902,11 @@ commands and their arguments.") "http://w1.fi/releases/wpa_supplicant-" version ".tar.gz")) + (patches (search-patches "wpa-supplicant-CVE-2017-13082.patch" + "wpa-supplicant-fix-key-reuse.patch" + "wpa-supplicant-fix-zeroed-keys.patch" + "wpa-supplicant-fix-nonce-reuse.patch" + "wpa-supplicant-krack-followups.patch")) (sha256 (base32 "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl")))) diff --git a/gnu/packages/patches/wpa-supplicant-CVE-2017-13082.patch b/gnu/packages/patches/wpa-supplicant-CVE-2017-13082.patch new file mode 100644 index 0000000000..371456d157 --- /dev/null +++ b/gnu/packages/patches/wpa-supplicant-CVE-2017-13082.patch @@ -0,0 +1,182 @@ +Fix CVE-2017-13082: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13082 +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + +Patch copied from upstream: +https://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch + +From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001 +From: Mathy Vanhoef +Date: Fri, 14 Jul 2017 15:15:35 +0200 +Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake + +Do not reinstall TK to the driver during Reassociation Response frame +processing if the first attempt of setting the TK succeeded. This avoids +issues related to clearing the TX/RX PN that could result in reusing +same PN values for transmitted frames (e.g., due to CCM nonce reuse and +also hitting replay protection on the receiver) and accepting replayed +frames on RX side. + +This issue was introduced by the commit +0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in +authenticator') which allowed wpa_ft_install_ptk() to be called multiple +times with the same PTK. While the second configuration attempt is +needed with some drivers, it must be done only if the first attempt +failed. + +Signed-off-by: Mathy Vanhoef +--- + src/ap/ieee802_11.c | 16 +++++++++++++--- + src/ap/wpa_auth.c | 11 +++++++++++ + src/ap/wpa_auth.h | 3 ++- + src/ap/wpa_auth_ft.c | 10 ++++++++++ + src/ap/wpa_auth_i.h | 1 + + 5 files changed, 37 insertions(+), 4 deletions(-) + +diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c +index 4e04169..333035f 100644 +--- a/src/ap/ieee802_11.c ++++ b/src/ap/ieee802_11.c +@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd, + { + struct ieee80211_ht_capabilities ht_cap; + struct ieee80211_vht_capabilities vht_cap; ++ int set = 1; + + /* + * Remove the STA entry to ensure the STA PS state gets cleared and +@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd, + * FT-over-the-DS, where a station re-associates back to the same AP but + * skips the authentication flow, or if working with a driver that + * does not support full AP client state. ++ * ++ * Skip this if the STA has already completed FT reassociation and the ++ * TK has been configured since the TX/RX PN must not be reset to 0 for ++ * the same key. + */ +- if (!sta->added_unassoc) ++ if (!sta->added_unassoc && ++ (!(sta->flags & WLAN_STA_AUTHORIZED) || ++ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) { + hostapd_drv_sta_remove(hapd, sta->addr); ++ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED); ++ set = 0; ++ } + + #ifdef CONFIG_IEEE80211N + if (sta->flags & WLAN_STA_HT) +@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd, + sta->flags & WLAN_STA_VHT ? &vht_cap : NULL, + sta->flags | WLAN_STA_ASSOC, sta->qosinfo, + sta->vht_opmode, sta->p2p_ie ? 1 : 0, +- sta->added_unassoc)) { ++ set)) { + hostapd_logger(hapd, sta->addr, + HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE, + "Could not %s STA to kernel driver", +- sta->added_unassoc ? "set" : "add"); ++ set ? "set" : "add"); + + if (sta->added_unassoc) { + hostapd_drv_sta_remove(hapd, sta->addr); +diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c +index 3587086..707971d 100644 +--- a/src/ap/wpa_auth.c ++++ b/src/ap/wpa_auth.c +@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event) + #else /* CONFIG_IEEE80211R */ + break; + #endif /* CONFIG_IEEE80211R */ ++ case WPA_DRV_STA_REMOVED: ++ sm->tk_already_set = FALSE; ++ return 0; + } + + #ifdef CONFIG_IEEE80211R +@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm) + } + + ++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm) ++{ ++ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt)) ++ return 0; ++ return sm->tk_already_set; ++} ++ ++ + int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm, + struct rsn_pmksa_cache_entry *entry) + { +diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h +index 0de8d97..97461b0 100644 +--- a/src/ap/wpa_auth.h ++++ b/src/ap/wpa_auth.h +@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth, + u8 *data, size_t data_len); + enum wpa_event { + WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH, +- WPA_REAUTH_EAPOL, WPA_ASSOC_FT ++ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED + }; + void wpa_remove_ptk(struct wpa_state_machine *sm); + int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event); +@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm); + int wpa_auth_get_pairwise(struct wpa_state_machine *sm); + int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm); + int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm); ++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm); + int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm, + struct rsn_pmksa_cache_entry *entry); + struct rsn_pmksa_cache_entry * +diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c +index 42242a5..e63b99a 100644 +--- a/src/ap/wpa_auth_ft.c ++++ b/src/ap/wpa_auth_ft.c +@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm) + return; + } + ++ if (sm->tk_already_set) { ++ /* Must avoid TK reconfiguration to prevent clearing of TX/RX ++ * PN in the driver */ ++ wpa_printf(MSG_DEBUG, ++ "FT: Do not re-install same PTK to the driver"); ++ return; ++ } ++ + /* FIX: add STA entry to kernel/driver here? The set_key will fail + * most likely without this.. At the moment, STA entry is added only + * after association has been completed. This function will be called +@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm) + + /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */ + sm->pairwise_set = TRUE; ++ sm->tk_already_set = TRUE; + } + + +@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm, + + sm->pairwise = pairwise; + sm->PTK_valid = TRUE; ++ sm->tk_already_set = FALSE; + wpa_ft_install_ptk(sm); + + buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) + +diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h +index 72b7eb3..7fd8f05 100644 +--- a/src/ap/wpa_auth_i.h ++++ b/src/ap/wpa_auth_i.h +@@ -65,6 +65,7 @@ struct wpa_state_machine { + struct wpa_ptk PTK; + Boolean PTK_valid; + Boolean pairwise_set; ++ Boolean tk_already_set; + int keycount; + Boolean Pair; + struct wpa_key_replay_counter { +-- +2.7.4 + diff --git a/gnu/packages/patches/wpa-supplicant-fix-key-reuse.patch b/gnu/packages/patches/wpa-supplicant-fix-key-reuse.patch new file mode 100644 index 0000000000..20d7c37662 --- /dev/null +++ b/gnu/packages/patches/wpa-supplicant-fix-key-reuse.patch @@ -0,0 +1,448 @@ +Fix CVE-2017-{13078,13079,13080,13081,13087,13088}: + +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13078 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13079 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13080 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13081 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13087 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13088 + +These two patches are copied from upstream: +https://w1.fi/security/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch +https://w1.fi/security/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch + +From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001 +From: Mathy Vanhoef +Date: Wed, 12 Jul 2017 16:03:24 +0200 +Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key + +Track the current GTK and IGTK that is in use and when receiving a +(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do +not install the given key if it is already in use. This prevents an +attacker from trying to trick the client into resetting or lowering the +sequence counter associated to the group key. + +Signed-off-by: Mathy Vanhoef +--- + src/common/wpa_common.h | 11 +++++ + src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------ + src/rsn_supp/wpa_i.h | 4 ++ + 3 files changed, 87 insertions(+), 44 deletions(-) + +diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h +index af1d0f0..d200285 100644 +--- a/src/common/wpa_common.h ++++ b/src/common/wpa_common.h +@@ -217,6 +217,17 @@ struct wpa_ptk { + size_t tk_len; + }; + ++struct wpa_gtk { ++ u8 gtk[WPA_GTK_MAX_LEN]; ++ size_t gtk_len; ++}; ++ ++#ifdef CONFIG_IEEE80211W ++struct wpa_igtk { ++ u8 igtk[WPA_IGTK_MAX_LEN]; ++ size_t igtk_len; ++}; ++#endif /* CONFIG_IEEE80211W */ + + /* WPA IE version 1 + * 00-50-f2:1 (OUI:OUI type) +diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c +index 3c47879..95bd7be 100644 +--- a/src/rsn_supp/wpa.c ++++ b/src/rsn_supp/wpa.c +@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm, + const u8 *_gtk = gd->gtk; + u8 gtk_buf[32]; + ++ /* Detect possible key reinstallation */ ++ if (sm->gtk.gtk_len == (size_t) gd->gtk_len && ++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) { ++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, ++ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)", ++ gd->keyidx, gd->tx, gd->gtk_len); ++ return 0; ++ } ++ + wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len); + wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, + "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)", +@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm, + } + os_memset(gtk_buf, 0, sizeof(gtk_buf)); + ++ sm->gtk.gtk_len = gd->gtk_len; ++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len); ++ + return 0; + } + +@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm, + } + + ++#ifdef CONFIG_IEEE80211W ++static int wpa_supplicant_install_igtk(struct wpa_sm *sm, ++ const struct wpa_igtk_kde *igtk) ++{ ++ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher); ++ u16 keyidx = WPA_GET_LE16(igtk->keyid); ++ ++ /* Detect possible key reinstallation */ ++ if (sm->igtk.igtk_len == len && ++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) { ++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, ++ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)", ++ keyidx); ++ return 0; ++ } ++ ++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, ++ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x", ++ keyidx, MAC2STR(igtk->pn)); ++ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len); ++ if (keyidx > 4095) { ++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING, ++ "WPA: Invalid IGTK KeyID %d", keyidx); ++ return -1; ++ } ++ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher), ++ broadcast_ether_addr, ++ keyidx, 0, igtk->pn, sizeof(igtk->pn), ++ igtk->igtk, len) < 0) { ++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING, ++ "WPA: Failed to configure IGTK to the driver"); ++ return -1; ++ } ++ ++ sm->igtk.igtk_len = len; ++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len); ++ ++ return 0; ++} ++#endif /* CONFIG_IEEE80211W */ ++ ++ + static int ieee80211w_set_keys(struct wpa_sm *sm, + struct wpa_eapol_ie_parse *ie) + { +@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm, + if (ie->igtk) { + size_t len; + const struct wpa_igtk_kde *igtk; +- u16 keyidx; ++ + len = wpa_cipher_key_len(sm->mgmt_group_cipher); + if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len) + return -1; ++ + igtk = (const struct wpa_igtk_kde *) ie->igtk; +- keyidx = WPA_GET_LE16(igtk->keyid); +- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d " +- "pn %02x%02x%02x%02x%02x%02x", +- keyidx, MAC2STR(igtk->pn)); +- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", +- igtk->igtk, len); +- if (keyidx > 4095) { +- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING, +- "WPA: Invalid IGTK KeyID %d", keyidx); +- return -1; +- } +- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher), +- broadcast_ether_addr, +- keyidx, 0, igtk->pn, sizeof(igtk->pn), +- igtk->igtk, len) < 0) { +- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING, +- "WPA: Failed to configure IGTK to the driver"); ++ if (wpa_supplicant_install_igtk(sm, igtk) < 0) + return -1; +- } + } + + return 0; +@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm) + */ + void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid) + { +- int clear_ptk = 1; ++ int clear_keys = 1; + + if (sm == NULL) + return; +@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid) + /* Prepare for the next transition */ + wpa_ft_prepare_auth_request(sm, NULL); + +- clear_ptk = 0; ++ clear_keys = 0; + } + #endif /* CONFIG_IEEE80211R */ + +- if (clear_ptk) { ++ if (clear_keys) { + /* + * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if + * this is not part of a Fast BSS Transition. +@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid) + os_memset(&sm->ptk, 0, sizeof(sm->ptk)); + sm->tptk_set = 0; + os_memset(&sm->tptk, 0, sizeof(sm->tptk)); ++ os_memset(&sm->gtk, 0, sizeof(sm->gtk)); ++#ifdef CONFIG_IEEE80211W ++ os_memset(&sm->igtk, 0, sizeof(sm->igtk)); ++#endif /* CONFIG_IEEE80211W */ + } + + #ifdef CONFIG_TDLS +@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm) + os_memset(sm->pmk, 0, sizeof(sm->pmk)); + os_memset(&sm->ptk, 0, sizeof(sm->ptk)); + os_memset(&sm->tptk, 0, sizeof(sm->tptk)); ++ os_memset(&sm->gtk, 0, sizeof(sm->gtk)); ++#ifdef CONFIG_IEEE80211W ++ os_memset(&sm->igtk, 0, sizeof(sm->igtk)); ++#endif /* CONFIG_IEEE80211W */ + #ifdef CONFIG_IEEE80211R + os_memset(sm->xxkey, 0, sizeof(sm->xxkey)); + os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0)); +@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf) + os_memset(&gd, 0, sizeof(gd)); + #ifdef CONFIG_IEEE80211W + } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) { +- struct wpa_igtk_kde igd; +- u16 keyidx; +- +- os_memset(&igd, 0, sizeof(igd)); +- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher); +- os_memcpy(igd.keyid, buf + 2, 2); +- os_memcpy(igd.pn, buf + 4, 6); +- +- keyidx = WPA_GET_LE16(igd.keyid); +- os_memcpy(igd.igtk, buf + 10, keylen); +- +- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)", +- igd.igtk, keylen); +- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher), +- broadcast_ether_addr, +- keyidx, 0, igd.pn, sizeof(igd.pn), +- igd.igtk, keylen) < 0) { +- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in " +- "WNM mode"); +- os_memset(&igd, 0, sizeof(igd)); ++ const struct wpa_igtk_kde *igtk; ++ ++ igtk = (const struct wpa_igtk_kde *) (buf + 2); ++ if (wpa_supplicant_install_igtk(sm, igtk) < 0) + return -1; +- } +- os_memset(&igd, 0, sizeof(igd)); + #endif /* CONFIG_IEEE80211W */ + } else { + wpa_printf(MSG_DEBUG, "Unknown element id"); +diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h +index f653ba6..afc9e37 100644 +--- a/src/rsn_supp/wpa_i.h ++++ b/src/rsn_supp/wpa_i.h +@@ -31,6 +31,10 @@ struct wpa_sm { + u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN]; + int rx_replay_counter_set; + u8 request_counter[WPA_REPLAY_COUNTER_LEN]; ++ struct wpa_gtk gtk; ++#ifdef CONFIG_IEEE80211W ++ struct wpa_igtk igtk; ++#endif /* CONFIG_IEEE80211W */ + + struct eapol_sm *eapol; /* EAPOL state machine from upper level code */ + +-- +2.7.4 + +From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sun, 1 Oct 2017 12:12:24 +0300 +Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep + Mode cases + +This extends the protection to track last configured GTK/IGTK value +separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a +corner case where these two different mechanisms may get used when the +GTK/IGTK has changed and tracking a single value is not sufficient to +detect a possible key reconfiguration. + +Signed-off-by: Jouni Malinen +--- + src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++--------------- + src/rsn_supp/wpa_i.h | 2 ++ + 2 files changed, 40 insertions(+), 15 deletions(-) + +diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c +index 95bd7be..7a2c68d 100644 +--- a/src/rsn_supp/wpa.c ++++ b/src/rsn_supp/wpa.c +@@ -709,14 +709,17 @@ struct wpa_gtk_data { + + static int wpa_supplicant_install_gtk(struct wpa_sm *sm, + const struct wpa_gtk_data *gd, +- const u8 *key_rsc) ++ const u8 *key_rsc, int wnm_sleep) + { + const u8 *_gtk = gd->gtk; + u8 gtk_buf[32]; + + /* Detect possible key reinstallation */ +- if (sm->gtk.gtk_len == (size_t) gd->gtk_len && +- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) { ++ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len && ++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) || ++ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len && ++ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk, ++ sm->gtk_wnm_sleep.gtk_len) == 0)) { + wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, + "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)", + gd->keyidx, gd->tx, gd->gtk_len); +@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm, + } + os_memset(gtk_buf, 0, sizeof(gtk_buf)); + +- sm->gtk.gtk_len = gd->gtk_len; +- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len); ++ if (wnm_sleep) { ++ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len; ++ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk, ++ sm->gtk_wnm_sleep.gtk_len); ++ } else { ++ sm->gtk.gtk_len = gd->gtk_len; ++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len); ++ } + + return 0; + } +@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm, + (wpa_supplicant_check_group_cipher(sm, sm->group_cipher, + gtk_len, gtk_len, + &gd.key_rsc_len, &gd.alg) || +- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) { ++ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) { + wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, + "RSN: Failed to install GTK"); + os_memset(&gd, 0, sizeof(gd)); +@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm, + + #ifdef CONFIG_IEEE80211W + static int wpa_supplicant_install_igtk(struct wpa_sm *sm, +- const struct wpa_igtk_kde *igtk) ++ const struct wpa_igtk_kde *igtk, ++ int wnm_sleep) + { + size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher); + u16 keyidx = WPA_GET_LE16(igtk->keyid); + + /* Detect possible key reinstallation */ +- if (sm->igtk.igtk_len == len && +- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) { ++ if ((sm->igtk.igtk_len == len && ++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) || ++ (sm->igtk_wnm_sleep.igtk_len == len && ++ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk, ++ sm->igtk_wnm_sleep.igtk_len) == 0)) { + wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, + "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)", + keyidx); +@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm, + return -1; + } + +- sm->igtk.igtk_len = len; +- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len); ++ if (wnm_sleep) { ++ sm->igtk_wnm_sleep.igtk_len = len; ++ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk, ++ sm->igtk_wnm_sleep.igtk_len); ++ } else { ++ sm->igtk.igtk_len = len; ++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len); ++ } + + return 0; + } +@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm, + return -1; + + igtk = (const struct wpa_igtk_kde *) ie->igtk; +- if (wpa_supplicant_install_igtk(sm, igtk) < 0) ++ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0) + return -1; + } + +@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm, + if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc)) + key_rsc = null_rsc; + +- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) || ++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) || + wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0) + goto failed; + os_memset(&gd, 0, sizeof(gd)); +@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid) + sm->tptk_set = 0; + os_memset(&sm->tptk, 0, sizeof(sm->tptk)); + os_memset(&sm->gtk, 0, sizeof(sm->gtk)); ++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep)); + #ifdef CONFIG_IEEE80211W + os_memset(&sm->igtk, 0, sizeof(sm->igtk)); ++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep)); + #endif /* CONFIG_IEEE80211W */ + } + +@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm) + os_memset(&sm->ptk, 0, sizeof(sm->ptk)); + os_memset(&sm->tptk, 0, sizeof(sm->tptk)); + os_memset(&sm->gtk, 0, sizeof(sm->gtk)); ++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep)); + #ifdef CONFIG_IEEE80211W + os_memset(&sm->igtk, 0, sizeof(sm->igtk)); ++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep)); + #endif /* CONFIG_IEEE80211W */ + #ifdef CONFIG_IEEE80211R + os_memset(sm->xxkey, 0, sizeof(sm->xxkey)); +@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf) + + wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)", + gd.gtk, gd.gtk_len); +- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) { ++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) { + os_memset(&gd, 0, sizeof(gd)); + wpa_printf(MSG_DEBUG, "Failed to install the GTK in " + "WNM mode"); +@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf) + const struct wpa_igtk_kde *igtk; + + igtk = (const struct wpa_igtk_kde *) (buf + 2); +- if (wpa_supplicant_install_igtk(sm, igtk) < 0) ++ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0) + return -1; + #endif /* CONFIG_IEEE80211W */ + } else { +diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h +index afc9e37..9a54631 100644 +--- a/src/rsn_supp/wpa_i.h ++++ b/src/rsn_supp/wpa_i.h +@@ -32,8 +32,10 @@ struct wpa_sm { + int rx_replay_counter_set; + u8 request_counter[WPA_REPLAY_COUNTER_LEN]; + struct wpa_gtk gtk; ++ struct wpa_gtk gtk_wnm_sleep; + #ifdef CONFIG_IEEE80211W + struct wpa_igtk igtk; ++ struct wpa_igtk igtk_wnm_sleep; + #endif /* CONFIG_IEEE80211W */ + + struct eapol_sm *eapol; /* EAPOL state machine from upper level code */ +-- +2.7.4 + diff --git a/gnu/packages/patches/wpa-supplicant-fix-nonce-reuse.patch b/gnu/packages/patches/wpa-supplicant-fix-nonce-reuse.patch new file mode 100644 index 0000000000..d8dd9cd204 --- /dev/null +++ b/gnu/packages/patches/wpa-supplicant-fix-nonce-reuse.patch @@ -0,0 +1,72 @@ +Fix a nonce re-use bug: + +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + +Patch copied from upstream: + +https://w1.fi/security/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch + +From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sun, 1 Oct 2017 12:32:57 +0300 +Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce + +The Authenticator state machine path for PTK rekeying ended up bypassing +the AUTHENTICATION2 state where a new ANonce is generated when going +directly to the PTKSTART state since there is no need to try to +determine the PMK again in such a case. This is far from ideal since the +new PTK would depend on a new nonce only from the supplicant. + +Fix this by generating a new ANonce when moving to the PTKSTART state +for the purpose of starting new 4-way handshake to rekey PTK. + +Signed-off-by: Jouni Malinen +--- + src/ap/wpa_auth.c | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c +index 707971d..bf10cc1 100644 +--- a/src/ap/wpa_auth.c ++++ b/src/ap/wpa_auth.c +@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2) + } + + ++static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm) ++{ ++ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) { ++ wpa_printf(MSG_ERROR, ++ "WPA: Failed to get random data for ANonce"); ++ sm->Disconnect = TRUE; ++ return -1; ++ } ++ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce, ++ WPA_NONCE_LEN); ++ sm->TimeoutCtr = 0; ++ return 0; ++} ++ ++ + SM_STATE(WPA_PTK, INITPMK) + { + u8 msk[2 * PMK_LEN]; +@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK) + SM_ENTER(WPA_PTK, AUTHENTICATION); + else if (sm->ReAuthenticationRequest) + SM_ENTER(WPA_PTK, AUTHENTICATION2); +- else if (sm->PTKRequest) +- SM_ENTER(WPA_PTK, PTKSTART); +- else switch (sm->wpa_ptk_state) { ++ else if (sm->PTKRequest) { ++ if (wpa_auth_sm_ptk_update(sm) < 0) ++ SM_ENTER(WPA_PTK, DISCONNECTED); ++ else ++ SM_ENTER(WPA_PTK, PTKSTART); ++ } else switch (sm->wpa_ptk_state) { + case WPA_PTK_INITIALIZE: + break; + case WPA_PTK_DISCONNECT: +-- +2.7.4 + diff --git a/gnu/packages/patches/wpa-supplicant-fix-zeroed-keys.patch b/gnu/packages/patches/wpa-supplicant-fix-zeroed-keys.patch new file mode 100644 index 0000000000..7f437271f3 --- /dev/null +++ b/gnu/packages/patches/wpa-supplicant-fix-zeroed-keys.patch @@ -0,0 +1,86 @@ +Don't install a zeroed encryption key: + +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + +Patch copied from upstream: +https://w1.fi/security/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch + +From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001 +From: Mathy Vanhoef +Date: Fri, 29 Sep 2017 04:22:51 +0200 +Subject: [PATCH 4/8] Prevent installation of an all-zero TK + +Properly track whether a PTK has already been installed to the driver +and the TK part cleared from memory. This prevents an attacker from +trying to trick the client into installing an all-zero TK. + +This fixes the earlier fix in commit +ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the +driver in EAPOL-Key 3/4 retry case') which did not take into account +possibility of an extra message 1/4 showing up between retries of +message 3/4. + +Signed-off-by: Mathy Vanhoef +--- + src/common/wpa_common.h | 1 + + src/rsn_supp/wpa.c | 5 ++--- + src/rsn_supp/wpa_i.h | 1 - + 3 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h +index d200285..1021ccb 100644 +--- a/src/common/wpa_common.h ++++ b/src/common/wpa_common.h +@@ -215,6 +215,7 @@ struct wpa_ptk { + size_t kck_len; + size_t kek_len; + size_t tk_len; ++ int installed; /* 1 if key has already been installed to driver */ + }; + + struct wpa_gtk { +diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c +index 7a2c68d..0550a41 100644 +--- a/src/rsn_supp/wpa.c ++++ b/src/rsn_supp/wpa.c +@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm, + os_memset(buf, 0, sizeof(buf)); + } + sm->tptk_set = 1; +- sm->tk_to_set = 1; + + kde = sm->assoc_wpa_ie; + kde_len = sm->assoc_wpa_ie_len; +@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm, + enum wpa_alg alg; + const u8 *key_rsc; + +- if (!sm->tk_to_set) { ++ if (sm->ptk.installed) { + wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, + "WPA: Do not re-install same PTK to the driver"); + return 0; +@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm, + + /* TK is not needed anymore in supplicant */ + os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN); +- sm->tk_to_set = 0; ++ sm->ptk.installed = 1; + + if (sm->wpa_ptk_rekey) { + eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL); +diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h +index 9a54631..41f371f 100644 +--- a/src/rsn_supp/wpa_i.h ++++ b/src/rsn_supp/wpa_i.h +@@ -24,7 +24,6 @@ struct wpa_sm { + struct wpa_ptk ptk, tptk; + int ptk_set, tptk_set; + unsigned int msg_3_of_4_ok:1; +- unsigned int tk_to_set:1; + u8 snonce[WPA_NONCE_LEN]; + u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */ + int renew_snonce; +-- +2.7.4 + diff --git a/gnu/packages/patches/wpa-supplicant-krack-followups.patch b/gnu/packages/patches/wpa-supplicant-krack-followups.patch new file mode 100644 index 0000000000..00904addb1 --- /dev/null +++ b/gnu/packages/patches/wpa-supplicant-krack-followups.patch @@ -0,0 +1,275 @@ +These three patches are follow-ups to the bug fixes for the 'KRACK' key +re-installation attacks on Wi-Fi's WPA2 security protocol. See upstream +security announcement for more information: + +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + +These three patches copied from upstream: + +https://w1.fi/security/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch +https://w1.fi/security/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch +https://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch + +From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Fri, 22 Sep 2017 11:03:15 +0300 +Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration + +Do not try to reconfigure the same TPK-TK to the driver after it has +been successfully configured. This is an explicit check to avoid issues +related to resetting the TX/RX packet number. There was already a check +for this for TPK M2 (retries of that message are ignored completely), so +that behavior does not get modified. + +For TPK M3, the TPK-TK could have been reconfigured, but that was +followed by immediate teardown of the link due to an issue in updating +the STA entry. Furthermore, for TDLS with any real security (i.e., +ignoring open/WEP), the TPK message exchange is protected on the AP path +and simple replay attacks are not feasible. + +As an additional corner case, make sure the local nonce gets updated if +the peer uses a very unlikely "random nonce" of all zeros. + +Signed-off-by: Jouni Malinen +--- + src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++-- + 1 file changed, 36 insertions(+), 2 deletions(-) + +diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c +index e424168..9eb9738 100644 +--- a/src/rsn_supp/tdls.c ++++ b/src/rsn_supp/tdls.c +@@ -112,6 +112,7 @@ struct wpa_tdls_peer { + u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */ + } tpk; + int tpk_set; ++ int tk_set; /* TPK-TK configured to the driver */ + int tpk_success; + int tpk_in_progress; + +@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer) + u8 rsc[6]; + enum wpa_alg alg; + ++ if (peer->tk_set) { ++ /* ++ * This same TPK-TK has already been configured to the driver ++ * and this new configuration attempt (likely due to an ++ * unexpected retransmitted frame) would result in clearing ++ * the TX/RX sequence number which can break security, so must ++ * not allow that to happen. ++ */ ++ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR ++ " has already been configured to the driver - do not reconfigure", ++ MAC2STR(peer->addr)); ++ return -1; ++ } ++ + os_memset(rsc, 0, 6); + + switch (peer->cipher) { +@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer) + return -1; + } + ++ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR, ++ MAC2STR(peer->addr)); + if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1, + rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) { + wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the " + "driver"); + return -1; + } ++ peer->tk_set = 1; + return 0; + } + +@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer) + peer->cipher = 0; + peer->qos_info = 0; + peer->wmm_capable = 0; +- peer->tpk_set = peer->tpk_success = 0; ++ peer->tk_set = peer->tpk_set = peer->tpk_success = 0; + peer->chan_switch_enabled = 0; + os_memset(&peer->tpk, 0, sizeof(peer->tpk)); + os_memset(peer->inonce, 0, WPA_NONCE_LEN); +@@ -1159,6 +1177,7 @@ skip_rsnie: + wpa_tdls_peer_free(sm, peer); + return -1; + } ++ peer->tk_set = 0; /* A new nonce results in a new TK */ + wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake", + peer->inonce, WPA_NONCE_LEN); + os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN); +@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer, + } + + ++static int tdls_nonce_set(const u8 *nonce) ++{ ++ int i; ++ ++ for (i = 0; i < WPA_NONCE_LEN; i++) { ++ if (nonce[i]) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++ + static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr, + const u8 *buf, size_t len) + { +@@ -2004,7 +2036,8 @@ skip_rsn: + peer->rsnie_i_len = kde.rsn_ie_len; + peer->cipher = cipher; + +- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) { ++ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 || ++ !tdls_nonce_set(peer->inonce)) { + /* + * There is no point in updating the RNonce for every obtained + * TPK M1 frame (e.g., retransmission due to timeout) with the +@@ -2020,6 +2053,7 @@ skip_rsn: + "TDLS: Failed to get random data for responder nonce"); + goto error; + } ++ peer->tk_set = 0; /* A new nonce results in a new TK */ + } + + #if 0 +-- +2.7.4 + +From 53c5eb58e95004f86e65ee9fbfccbc291b139057 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Fri, 22 Sep 2017 11:25:02 +0300 +Subject: [PATCH 7/8] WNM: Ignore WNM-Sleep Mode Response without pending + request + +Commit 03ed0a52393710be6bdae657d1b36efa146520e5 ('WNM: Ignore WNM-Sleep +Mode Response if WNM-Sleep Mode has not been used') started ignoring the +response when no WNM-Sleep Mode Request had been used during the +association. This can be made tighter by clearing the used flag when +successfully processing a response. This adds an additional layer of +protection against unexpected retransmissions of the response frame. + +Signed-off-by: Jouni Malinen +--- + wpa_supplicant/wnm_sta.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c +index 1b3409c..67a07ff 100644 +--- a/wpa_supplicant/wnm_sta.c ++++ b/wpa_supplicant/wnm_sta.c +@@ -260,7 +260,7 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s, + + if (!wpa_s->wnmsleep_used) { + wpa_printf(MSG_DEBUG, +- "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode has not been used in this association"); ++ "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode operation has not been requested"); + return; + } + +@@ -299,6 +299,8 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s, + return; + } + ++ wpa_s->wnmsleep_used = 0; ++ + if (wnmsleep_ie->status == WNM_STATUS_SLEEP_ACCEPT || + wnmsleep_ie->status == WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE) { + wpa_printf(MSG_DEBUG, "Successfully recv WNM-Sleep Response " +-- +2.7.4 + +https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + +Patch copied from upstream: + +https://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch + +From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Fri, 22 Sep 2017 12:06:37 +0300 +Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames + +The driver is expected to not report a second association event without +the station having explicitly request a new association. As such, this +case should not be reachable. However, since reconfiguring the same +pairwise or group keys to the driver could result in nonce reuse issues, +be extra careful here and do an additional state check to avoid this +even if the local driver ends up somehow accepting an unexpected +Reassociation Response frame. + +Signed-off-by: Jouni Malinen +--- + src/rsn_supp/wpa.c | 3 +++ + src/rsn_supp/wpa_ft.c | 8 ++++++++ + src/rsn_supp/wpa_i.h | 1 + + 3 files changed, 12 insertions(+) + +diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c +index 0550a41..2a53c6f 100644 +--- a/src/rsn_supp/wpa.c ++++ b/src/rsn_supp/wpa.c +@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm) + #ifdef CONFIG_TDLS + wpa_tdls_disassoc(sm); + #endif /* CONFIG_TDLS */ ++#ifdef CONFIG_IEEE80211R ++ sm->ft_reassoc_completed = 0; ++#endif /* CONFIG_IEEE80211R */ + + /* Keys are not needed in the WPA state machine anymore */ + wpa_sm_drop_sa(sm); +diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c +index 205793e..d45bb45 100644 +--- a/src/rsn_supp/wpa_ft.c ++++ b/src/rsn_supp/wpa_ft.c +@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len, + u16 capab; + + sm->ft_completed = 0; ++ sm->ft_reassoc_completed = 0; + + buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) + + 2 + sm->r0kh_id_len + ric_ies_len + 100; +@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies, + return -1; + } + ++ if (sm->ft_reassoc_completed) { ++ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission"); ++ return 0; ++ } ++ + if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) { + wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs"); + return -1; +@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies, + return -1; + } + ++ sm->ft_reassoc_completed = 1; ++ + if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0) + return -1; + +diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h +index 41f371f..56f88dc 100644 +--- a/src/rsn_supp/wpa_i.h ++++ b/src/rsn_supp/wpa_i.h +@@ -128,6 +128,7 @@ struct wpa_sm { + size_t r0kh_id_len; + u8 r1kh_id[FT_R1KH_ID_LEN]; + int ft_completed; ++ int ft_reassoc_completed; + int over_the_ds_in_progress; + u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */ + int set_ptk_after_assoc; +-- +2.7.4 + From 4640a11bee7935e2063afda600afb747dc0f4e0b Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 17 Oct 2017 09:59:06 +0200 Subject: [PATCH 002/116] gnu: Add python2-neo4j-driver. * gnu/packages/python.scm (python2-neo4j-driver): New variable. --- gnu/packages/python.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cab910be7d..68951d6bb3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7549,6 +7549,27 @@ and MAC network addresses.") (define-public python2-netaddr (package-with-python2 python-netaddr)) +(define-public python2-neo4j-driver + (package + (name "python2-neo4j-driver") + ;; NOTE: When upgrading to 1.5.0, please add a python3 variant. + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "neo4j-driver" version)) + (sha256 + (base32 + "011r1vh182p8mm83d8dz9rfnc3l7rf7fd00cyrbyfzi71jmc4g98")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "https://neo4j.com/developer/python/") + (synopsis "Neo4j driver code written in Python") + (description "This package provides the Neo4j Python driver that connects +to the database using Neo4j's binary protocol. It aims to be minimal, while +being idiomatic to Python.") + (license license:asl2.0))) + (define-public python-wrapt (package (name "python-wrapt") From 357ab93aacbd882a48cd7961ab301afa78c941d0 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 17 Oct 2017 09:59:35 +0200 Subject: [PATCH 003/116] gnu: Add python2-py2neo. * gnu/packages/python.scm (python2-py2neo): New variable. --- gnu/packages/python.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 68951d6bb3..46df5eaca8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7570,6 +7570,27 @@ to the database using Neo4j's binary protocol. It aims to be minimal, while being idiomatic to Python.") (license license:asl2.0))) +(define-public python2-py2neo + (package + (name "python2-py2neo") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "py2neo" version)) + (sha256 + (base32 + "1f1q95vqcvlc3nsc33p841swnjdcjazddlq2dzi3qfnjqjrajxw1")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "http://py2neo.org") + (synopsis "Library and toolkit for working with Neo4j in Python") + (description "This package provides a client library and toolkit for +working with Neo4j from within Python applications and from the command +line. The core library has no external dependencies and has been carefully +designed to be easy and intuitive to use.") + (license license:asl2.0))) + (define-public python-wrapt (package (name "python-wrapt") From bb4b9f7bf3d3c465823cd6d261c92fa90f9f97aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Oct 2017 11:24:54 +0200 Subject: [PATCH 004/116] gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix): Update to 357ab93. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 91e44ec6fe..503bf52226 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -78,8 +78,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.13.0") - (commit "8b920d707ed07a3251227f77526cf875d86a4417") - (revision 7)) + (commit "357ab93aacbd882a48cd7961ab301afa78c941d0") + (revision 8)) (package (name "guix") @@ -95,7 +95,7 @@ (commit commit))) (sha256 (base32 - "15phwcadkw44mr4hnv1dxzzw9an6x7sbdfzwy4iciqw6y2wckncd")) + "15y6vcvqydgr4hz32jhc30a9xxfd01x01y8w8xv2iqgfrfzi5sr0")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 5efa0e4d4f25485dcf3c520f9f3db9ef126efdf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 14 Oct 2017 22:45:55 +0800 Subject: [PATCH 005/116] guix: substitute: Report the last progress in the child process. Fixes . * guix/utils.scm (filtered-port): Close the 'input' port for the current process, and close it upon exit in the child process. * guix/scripts/substitute.scm (progress-substitution): Display "\n\n" after the reporter has finished. --- guix/scripts/substitute.scm | 11 +++++++---- guix/utils.scm | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 921a7c6790..60dbdb1766 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -956,19 +956,22 @@ DESTINATION as a nar file. Verify the substitute against ACL." #:abbreviation nar-uri-abbreviation))) (progress-report-port reporter raw))) ((input pids) + ;; NOTE: This 'progress' port of current process will be + ;; closed here, while the child process doing the + ;; reporting will close it upon exit. (decompressed-port (and=> (narinfo-compression narinfo) string->symbol) progress))) ;; Unpack the Nar at INPUT into DESTINATION. (restore-file input destination) (close-port input) - (close-port progress) + + ;; Wait for the reporter to finish. + (every (compose zero? cdr waitpid) pids) ;; Skip a line after what 'progress-reporter/file' printed, and another ;; one to visually separate substitutions. - (display "\n\n" (current-error-port)) - - (every (compose zero? cdr waitpid) pids)))) + (display "\n\n" (current-error-port))))) ;;; diff --git a/guix/utils.scm b/guix/utils.scm index de4aa65319..2cf9be36df 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -153,9 +153,11 @@ buffered data is lost." (close-port in) (dump-port input out)) (lambda () + (close-port input) (false-if-exception (close out)) (primitive-_exit 0)))) (child + (close-port input) (close-port out) (loop in (cons child pids))))))))) From 1d484507dce7bfeaa579f49f12a3a00412f807af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Oct 2017 11:30:31 +0200 Subject: [PATCH 006/116] gnu: perf: Add dependency on libunwind and libnuma. * gnu/packages/linux.scm (perf)[inputs]: Add NUMACTL and LIBUNWIND. --- gnu/packages/linux.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 103d9ab57d..1099da6fb1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -72,6 +72,7 @@ #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) #:use-module (gnu packages man) #:use-module (gnu packages maths) @@ -2527,6 +2528,8 @@ in a digital read-out.") ("python" ,python-2) ;'perf' links against libpython ("elfutils" ,elfutils) ("libiberty" ,libiberty) ;used alongside BDF for symbol demangling + ("libunwind" ,libunwind) ;better stack walking + ("numactl" ,numactl) ;for 'perf bench numa mem' ;; Documentation. ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES From 65dabe4e18478d76a474037ffc773971b9c611bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Oct 2017 13:17:54 +0200 Subject: [PATCH 007/116] gnu: perf: Find 'tips.txt'. * gnu/packages/linux.scm (perf)[arguments]: Use "prefix", not "DESTDIR". This allows 'perf report' to find 'tips.txt'. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1099da6fb1..652b7d3507 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2506,7 +2506,7 @@ in a digital read-out.") (setenv "SHELL_PATH" (which "bash")) (chdir "tools/perf") #t))) - #:make-flags (list (string-append "DESTDIR=" + #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) "WERROR=0" From c56c5e78eac14e5d56b1b71e572d2cb41f8c812f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Oct 2017 13:22:56 +0200 Subject: [PATCH 008/116] gnu: guix: Fix content hash. Fixes a mistake in bb4b9f7bf3d3c465823cd6d261c92fa90f9f97aa, which was due to the present of a hard link in my source tree, which confused 'git-predicate'... * gnu/packages/package-management.scm (guix)[source]: Fix content hash. --- gnu/packages/package-management.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 503bf52226..9ecdd90c64 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -95,7 +95,7 @@ (commit commit))) (sha256 (base32 - "15y6vcvqydgr4hz32jhc30a9xxfd01x01y8w8xv2iqgfrfzi5sr0")) + "19cf4gpdkqv8lxpqg4ibmxhmnsm2ggi3wrhaslfmypa2a5b5jls1")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 8843373322b2d1a95175c578659fb1521461ef6a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 16:45:28 +0200 Subject: [PATCH 009/116] gnu: java-jgit: Include properties files. * gnu/packages/version-control.scm (java-jgit)[arguments]: Add phase "add-properties". (java-jgit-4.2)[arguments]: Move modification of phases into substitute-keyword-arguments clause. --- gnu/packages/version-control.scm | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 38756f06c2..7c9b049849 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1650,7 +1650,17 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. ;; JGit must be built with a JDK supporting Java 8. #:jdk ,icedtea-8 ;; Target our older default JDK. - #:make-flags (list "-Dtarget=1.7"))) + #:make-flags (list "-Dtarget=1.7") + #:phases + (modify-phases %standard-phases + ;; The jar file generated by the default build.xml does not include + ;; the text properties files, so we need to add them. + (add-after 'build 'add-properties + (lambda* (#:key jar-name #:allow-other-keys) + (with-directory-excursion "src" + (zero? (apply system* "jar" "-uf" + (string-append "../build/jar/" jar-name) + (find-files "." "\\.properties$"))))))))) (inputs `(("java-classpathx-servletapi" ,java-classpathx-servletapi) ("java-javaewah" ,java-javaewah) @@ -1679,16 +1689,16 @@ network protocols, and core version control algorithms.") "15gm537iivhnzlkjym4x3wn5jqdjdragsw9pdpzqqg21nrc817mm")))) (build-system ant-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-latest-javaewah-API - (lambda _ - (substitute* "src/org/eclipse/jgit/internal/storage/file/BitmapIndexImpl.java" - (("wordinbits") "WORD_IN_BITS")) - #t))) + (substitute-keyword-arguments (package-arguments java-jgit) ;; Build for default JDK. - ,@(substitute-keyword-arguments (package-arguments java-jgit) - ((#:jdk _) icedtea-7)))) + ((#:jdk _) icedtea-7) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'use-latest-javaewah-API + (lambda _ + (substitute* "src/org/eclipse/jgit/internal/storage/file/BitmapIndexImpl.java" + (("wordinbits") "WORD_IN_BITS")) + #t)))))) (inputs `(("java-javaewah" ,java-javaewah) ("java-jsch" ,java-jsch) From d991b0566433b0ff78dd92165430da2f40fe721d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 3 Mar 2016 18:08:32 +0100 Subject: [PATCH 010/116] gnu: Add Axoloti. * gnu/packages/axoloti.scm: New file. * gnu/packages/patches/libusb-for-axoloti.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch. (GNU_SYSTEM_MODULES): Add module. --- gnu/local.mk | 2 + gnu/packages/axoloti.scm | 352 ++++++++++++++++++ gnu/packages/patches/libusb-for-axoloti.patch | 14 + 3 files changed, 368 insertions(+) create mode 100644 gnu/packages/axoloti.scm create mode 100644 gnu/packages/patches/libusb-for-axoloti.patch diff --git a/gnu/local.mk b/gnu/local.mk index f648dda141..e2f31c27bf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -66,6 +66,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/autotools.scm \ %D%/packages/avahi.scm \ %D%/packages/avr.scm \ + %D%/packages/axoloti.scm \ %D%/packages/backup.scm \ %D%/packages/base.scm \ %D%/packages/bash.scm \ @@ -813,6 +814,7 @@ dist_patch_DATA = \ %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ + %D%/packages/patches/libusb-for-axoloti.patch \ %D%/packages/patches/libvisio-fix-tests.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm new file mode 100644 index 0000000000..7a53980c4d --- /dev/null +++ b/gnu/packages/axoloti.scm @@ -0,0 +1,352 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016, 2017 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages axoloti) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix build-system ant) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) + #:use-module (gnu packages embedded) + #:use-module (gnu packages flashing-tools) + #:use-module (gnu packages java) + #:use-module (gnu packages libusb) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages textutils) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xml)) + +(define libusb-for-axoloti + (package (inherit libusb) + (name "axoloti-libusb") + (version (package-version libusb)) + (source + (origin + (inherit (package-source libusb)) + (patches (list (search-patch "libusb-for-axoloti.patch"))))))) + +(define dfu-util-for-axoloti + (package (inherit dfu-util) + (name "axoloti-dfu-util") + (version "0.8") + (source + (origin + (method url-fetch) + (uri (string-append "http://dfu-util.sourceforge.net/releases/" + "dfu-util-" version ".tar.gz")) + (sha256 + (base32 + "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm")))) + (inputs + `(("libusb" ,libusb-for-axoloti))))) + +(define-public axoloti-runtime + (package + (name "axoloti-runtime") + (version "1.0.12") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/axoloti/axoloti/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dynk6h0nixp4zihpirpqa4vi8fq1lhm443jsmvhk135ykhf364p")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove pre-built Java binaries. + (delete-file-recursively "lib/") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 match) + (ice-9 regex)) + #:imported-modules ((guix build syscalls) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; prepare ChibiOS + (and (zero? (system* "unzip" "-o" (assoc-ref inputs "chibios"))) + (zero? (system* "mv" "ChibiOS_2.6.9" "chibios")) + (with-directory-excursion "chibios/ext" + (zero? (system* "unzip" "-o" "fatfs-0.9-patched.zip")))) + + ;; Remove source of non-determinism in ChibiOS + (substitute* "chibios/os/various/shell.c" + (("#ifdef __DATE__") "#if 0")) + + ;; Patch shell paths + (substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java" + "src/main/java/qcmds/QCmdCompilePatch.java" + "src/main/java/qcmds/QCmdFlashDFU.java") + (("/bin/sh") (which "sh"))) + + ;; Override cross compiler base name + (substitute* "firmware/Makefile.patch" + (("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool) + (which tool))) + + ;; Hardcode full path to compiler tools + (substitute* '("firmware/Makefile" + "firmware/flasher/Makefile" + "firmware/mounter/Makefile") + (("TRGT =.*") + (string-append "TRGT = " + (assoc-ref inputs "cross-toolchain") + "/bin/arm-none-eabi-\n"))) + + ;; Hardcode path to "make" + (substitute* '("firmware/compile_firmware_linux.sh" + "firmware/compile_patch_linux.sh") + (("make") (which "make"))) + + ;; Hardcode path to "dfu-util" + (substitute* "platform_linux/upload_fw_dfu.sh" + (("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"") + (("\\./dfu-util") (which "dfu-util"))) + #t)) + (delete 'configure) + (replace 'build + ;; Build Axoloti firmware with cross-compiler + (lambda* (#:key inputs #:allow-other-keys) + (let* ((toolchain (assoc-ref inputs "cross-toolchain")) + (headers (string-append + toolchain + "/arm-none-eabi/include:" + toolchain + "/arm-none-eabi/include/arm-none-eabi/armv7e-m"))) + (setenv "CROSS_CPATH" headers) + (setenv "CROSS_CPLUS_INCLUDE_PATH" headers) + (setenv "CROSS_LIBRARY_PATH" + (string-append toolchain + "/arm-none-eabi/lib"))) + (with-directory-excursion "platform_linux" + (zero? (system* "sh" "compile_firmware.sh"))))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/axoloti/")) + (doc (string-append share "doc")) + (dir (getcwd)) + (pats '("/doc/[^/]+$" + "/patches/[^/]+/[^/]+$" + "/objects/[^/]+/[^/]+$" + "/firmware/.+" + "/chibios/[^/]+$" + "/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$" + "/chibios/(ext|os|docs)/.+" + "/CMSIS/[^/]+/[^/]+$" + "/patch/[^/]+/[^/]+$" + "/[^/]+\\.txt$")) + (pattern (string-append + "(" (string-join + (map (cut string-append dir <>) + pats) + "|") ")")) + (files (find-files dir + (lambda (file stat) + (and (eq? 'regular (stat:type stat)) + (string-match pattern file)))))) + (for-each (lambda (file) + (install-file file + (string-append + share + (regexp-substitute + #f + (string-match dir (dirname file)) + 'pre 'post)))) + files) + #t)))))) + (inputs + `(("chibios" + ,(origin + (method url-fetch) + (uri "mirror://sourceforge/chibios/ChibiOS_RT%20stable/Version%202.6.9/ChibiOS_2.6.9.zip") + (sha256 + (base32 + "0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj")))) + ;; for compiling patches + ("make" ,gnu-make) + ;; for compiling firmware + ("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9) + ;; for uploading compiled patches and firmware + ("dfu-util" ,dfu-util-for-axoloti))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://axoloti.com") + (synopsis "Audio development environment for the Axoloti core board") + (description + "The Axoloti patcher offers a “patcher” environment similar to Pure Data +for sketching digital audio algorithms. The patches run on a standalone +powerful microcontroller board: Axoloti Core. This package provides the +runtime.") + (license license:gpl3+))) + +(define-public axoloti-patcher + (package (inherit axoloti-runtime) + (name "axoloti-patcher") + (version (package-version axoloti-runtime)) + (arguments + `(#:tests? #f ; no check target + #:modules ((guix build gnu-build-system) + ((guix build ant-build-system) #:prefix ant:) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 match) + (ice-9 regex) + (sxml simple) + (sxml xpath) + (sxml transform)) + #:imported-modules ((guix build ant-build-system) + (guix build syscalls) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (setenv "JAVA_HOME" (assoc-ref inputs "icedtea")) + ;; We want to use our own jar files instead of the pre-built + ;; stuff in lib. So we replace the zipfileset tags in the + ;; build.xml with new ones that reference our jars. + (let* ((build.xml (with-input-from-file "build.xml" + (lambda _ + (xml->sxml #:trim-whitespace? #t)))) + (jars (append-map (match-lambda + (((? (cut string-prefix? "java-" <>) + label) . directory) + (find-files directory "\\.jar$")) + (_ '())) + inputs)) + (classpath (string-join jars ":")) + (fileset (map (lambda (jar) + `(zipfileset (@ (excludes "META-INF/*.SF") + (src ,jar)))) + jars))) + (call-with-output-file "build.xml" + (lambda (port) + (sxml->xml + (pre-post-order + build.xml + `(;; Remove all zipfileset tags from the "jar" tree and + ;; inject our own tags. + (jar . ,(lambda (tag . kids) + `(jar ,@(append-map + (filter (lambda (e) + (not (eq? 'zipfileset (car e))))) + kids) + ,@fileset))) + ;; Skip the "bundle" target (and the "-post-jar" target + ;; that depends on it), because we don't need it and it + ;; confuses sxml->xml. + (target . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) + (car kids)))) + (if (or (member "bundle" name) + (member "-post-jar" name)) + '() ; skip + `(,tag ,@kids))))) + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) + (match txt + ;; Remove timestamp. + ("${TODAY}" "(unknown)") + (_ txt)))))) + port))) + + ;; Build it! + (zero? (system* "ant" + (string-append "-Djavac.classpath=" classpath) + "-Dbuild.runtime=true" + "-Dbuild.time=01/01/1970 00:00:00" + "-Djavac.source=1.7" + "-Djavac.target=1.7" + (string-append "-Dtag.short.version=" + ,version)))))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/axoloti/"))) + (install-file "dist/Axoloti.jar" share) + + ;; We do this to ensure that this package retains references to + ;; other Java packages' jar files. + (install-file "build.xml" share) + + ;; Create a launcher script + (mkdir (string-append out "/bin")) + (let ((target (string-append out "/bin/Axoloti"))) + (with-output-to-file target + (lambda () + (let* ((dir (string-append (assoc-ref outputs "out") + "/share/axoloti")) + (runtime (string-append (assoc-ref inputs "axoloti-runtime") + "/share/axoloti")) + (toolchain (assoc-ref inputs "cross-toolchain")) + (includes (string-append + toolchain + "/arm-none-eabi/include:" + toolchain + "/arm-none-eabi/include/arm-none-eabi/armv7e-m"))) + (display + (string-append "#!" (which "sh") "\n" + "export CROSS_CPATH=" includes "\n" + "export CROSS_CPLUS_INCLUDE_PATH=" includes "\n" + "export CROSS_LIBRARY_PATH=" + toolchain "/arm-none-eabi/lib" "\n" + (which "java") + " -Daxoloti_release=" runtime + " -Daxoloti_runtime=" runtime + " -jar " dir "/Axoloti.jar"))))) + (chmod target #o555)) + #t))) + (add-after 'install 'strip-jar-timestamps + (assoc-ref ant:%standard-phases 'strip-jar-timestamps))))) + (inputs + `(("icedtea" ,icedtea "jdk") + ("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9) + ("java-simple-xml" ,java-simple-xml) + ("java-rsyntaxtextarea" ,java-rsyntaxtextarea) + ("java-usb4java" ,java-usb4java) + ("java-jsch" ,java-jsch) + ("java-slf4j-api" ,java-slf4j-api) + ("java-jgit" ,java-jgit-4.2) + ("axoloti-runtime" ,axoloti-runtime))) + (native-inputs + `(("ant" ,ant) + ("zip" ,zip) ; for repacking the jar + ("unzip" ,unzip))) + (description + "The Axoloti patcher offers a “patcher” environment similar to Pure Data +for sketching digital audio algorithms. The patches run on a standalone +powerful microcontroller board: Axoloti Core. This package provides the +patcher application."))) diff --git a/gnu/packages/patches/libusb-for-axoloti.patch b/gnu/packages/patches/libusb-for-axoloti.patch new file mode 100644 index 0000000000..2c07d767d9 --- /dev/null +++ b/gnu/packages/patches/libusb-for-axoloti.patch @@ -0,0 +1,14 @@ +diff -rp -u4 libusb-1.0.19-orig/libusb/descriptor.c libusb-1.0.19/libusb/descriptor.c +--- libusb-1.0.19-orig/libusb/descriptor.c 2015-05-12 00:15:19 +0200 ++++ libusb-1.0.19/libusb/descriptor.c 2015-05-12 00:17:09 +0200 +@@ -1181,9 +1181,9 @@ int API_EXPORTED libusb_get_string_descr + if (tbuf[1] != LIBUSB_DT_STRING) + return LIBUSB_ERROR_IO; + + if (tbuf[0] > r) +- return LIBUSB_ERROR_IO; ++ tbuf[0] = r; + + for (di = 0, si = 2; si < tbuf[0]; si += 2) { + if (di >= (length - 1)) + break; From 94b55ace14c09802298b5d2dc4e60dbad3ef6982 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:32:20 +0200 Subject: [PATCH 011/116] gnu: axoloti-runtime: Update home page. * gnu/packages/axoloti.scm (axoloti-runtime)[home-page]: Use redirection target URL. --- gnu/packages/axoloti.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index 7a53980c4d..8ce4a63131 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -201,7 +201,7 @@ ("dfu-util" ,dfu-util-for-axoloti))) (native-inputs `(("unzip" ,unzip))) - (home-page "http://axoloti.com") + (home-page "http://www.axoloti.com/") (synopsis "Audio development environment for the Axoloti core board") (description "The Axoloti patcher offers a “patcher” environment similar to Pure Data From 7340fc5014ab09345888fd5b917816c1fef77360 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:45:53 +0200 Subject: [PATCH 012/116] gnu: r-curl: Update to 3.0. * gnu/packages/web.scm (r-curl): Update to 3.0. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 41e52756e3..536fdaed89 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3788,13 +3788,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "2.8.1") + (version "3.0") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "0dgfl7wn4r8inv55xnk4ybf1y2x4qmi4cbr6phr3lfi1dnjm4hsm")))) + "01m52jz2q38yc32xbnmpm48hck2xj9fyhxq262p04y67gjpf7y3v")))) (build-system r-build-system) (arguments `(#:phases From dc6cb56dec85b65158fafff7ee2669a3e4f09055 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:46:23 +0200 Subject: [PATCH 013/116] gnu: r-dplyr: Update to 0.7.4. * gnu/packages/statistics.scm (r-dplyr): Update to 0.7.4. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 2b640645c4..e40d17e05d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1578,13 +1578,13 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "0.7.3") + (version "0.7.4") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "0wz5vrcsxzmxpxvs1raz9kyfc7mq3591nadq4rb4hx4sc97ysrxf")))) + "1hm8ml7yaraag1ak6kvz2mxx6if568c759ix8a1n9d7va03wj7vv")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) From 767ad2f7ad604ce61447b4455d65ba1fddf669a0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:46:57 +0200 Subject: [PATCH 014/116] gnu: r-chron: Update to 2.3-51. * gnu/packages/statistics.scm (r-chron): Update to 2.3-51. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e40d17e05d..08e07e1725 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1730,13 +1730,13 @@ and density estimation.") (define-public r-chron (package (name "r-chron") - (version "2.3-50") + (version "2.3-51") (source (origin (method url-fetch) (uri (cran-uri "chron" version)) (sha256 (base32 - "1w3sl60gsirniqslb3pa75caiqbzbvc44phpd4czvwkb62xx1vx9")))) + "05aznigw9nwv3hbwjnjbvqhfjqkwsw2csgrjx8500gzr2fvla5w8")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/chron") (synopsis "Chronological R objects which can handle dates and times") From 711e6cc5f465331fd82a8059c3575cc90e03b6f4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:47:31 +0200 Subject: [PATCH 015/116] gnu: r-data-table: Update to 1.10.4-2. * gnu/packages/statistics.scm (r-data-table): Update to 1.10.4-2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 08e07e1725..23d2400eb4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1748,13 +1748,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.10.4") + (version "1.10.4-2") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "0ykbjr1x50ajxbri385vi3mnxj7zg1dcgh9y0snp341qmmmdypw6")))) + "159dgcjlrpq17iy7y3a6v2wnlrszjlz031cj4aqcl9bbfkh07mr7")))) (build-system r-build-system) (home-page "https://github.com/Rdatatable/data.table/wiki") (synopsis "Enhanced version of data.frame R object") From c43db8da3a9d641d80293946d53603004b5891e4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:48:06 +0200 Subject: [PATCH 016/116] gnu: r-rcpparmadillo: Update to 0.8.100.1.0. * gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.8.100.1.0. [native-inputs]: Add r-knitr. --- gnu/packages/statistics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 23d2400eb4..58e23fd3b3 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2480,15 +2480,17 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.7.960.1.2") + (version "0.8.100.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0kg8vbamaz3413h283f23hzgqkmfpf6fs0vbklmpj0l3ricvp9cc")))) + "19sghlkslz6llcrjk5pd8c6dsb338jsi4dnwrbbrjkfq6jdr5jlp")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) ; needed for vignettes (propagated-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/RcppCore/RcppArmadillo") From d8455fe146e402df4130a5b848e3d44f8be0a47b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:48:29 +0200 Subject: [PATCH 017/116] gnu: r-tidyselect: Update to 0.2.2. * gnu/packages/statistics.scm (r-tidyselect): Update to 0.2.2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 58e23fd3b3..eb3af112d3 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3588,14 +3588,14 @@ the 'lite' version of the more complete @code{viridis} package.") (define-public r-tidyselect (package (name "r-tidyselect") - (version "0.2.0") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "tidyselect" version)) (sha256 (base32 - "1h10qc5bxk5v0zhmip3gwnzy50fs2gbdvcg2163is0k9a8rifq9r")))) + "1lndr0ajd3fhycmrw2fdaiyf32in5pgl5ig901q221g24n87vmnd")))) (build-system r-build-system) (propagated-inputs `(("r-glue" ,r-glue) From e059bdc9a7bdbbb4ee43a773ff02408165eb32d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 17 Oct 2017 17:49:07 +0200 Subject: [PATCH 018/116] gnu: r-tidyr: Update to 0.7.2. * gnu/packages/statistics.scm (r-tidyr): Update to 0.7.2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index eb3af112d3..7838145513 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3614,14 +3614,14 @@ selection.") (define-public r-tidyr (package (name "r-tidyr") - (version "0.7.1") + (version "0.7.2") (source (origin (method url-fetch) (uri (cran-uri "tidyr" version)) (sha256 (base32 - "18fii18f967xaw6swn0w744sncx37rfq6gd8d9dccrpyf8647hmr")))) + "1700fry2b3d3ksj7x2f09xl6agjrdnx1rqsc1r8gvzsp5cpflb06")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) From 790d33c3bb79eabd43ec8935cfdfdb7e12b60829 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Oct 2017 20:50:03 +0200 Subject: [PATCH 019/116] gnu: rofi: Update to 1.4.2. * gnu/packages/xdisorg.scm (rofi): Update to 1.4.2. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a44390200f..78d090926b 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1073,7 +1073,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1081,7 +1081,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "0xnfzbwhxd2cd4lxkc24mbx3f4b1h3l1alcdbbsymi2b9fdwmywh")))) + "1129cbg76g56c6ckzj5y5haf92jxhx3b71cr3qmhrb0n8g4gi38s")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) From b2850fd1709ec4e72ea93d016f2cae6f262f1b9e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Oct 2017 20:53:55 +0200 Subject: [PATCH 020/116] gnu: nginx: Update to 1.12.2. * gnu/packages/web.scm (nginx): Update to 1.12.2. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 536fdaed89..c7b44fafa1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -142,14 +142,14 @@ and its related documentation.") (name "nginx") ;; Consider updating the nginx-docs package if the nginx package is ;; updated. - (version "1.12.1") + (version "1.12.2") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "1yvnmj7vlykrqdi6amkvs63lva6qkxd98sqv0a8hz8w5ci1bz4w7")))) + "05h4rwja7170z0l979yjghy9i9ichllwhicylzpmmyyml6fkfprh")))) (build-system gnu-build-system) (inputs `(("pcre" ,pcre) ("openssl" ,openssl) From dd12d4aad02fc83e00e7b09d676aa78bcb7dd476 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Oct 2017 01:40:24 +0200 Subject: [PATCH 021/116] gnu: protobuf: Update to 3.4.1. * gnu/packages/protobuf.scm (protobuf): Update to 3.4.1. --- gnu/packages/protobuf.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 12f6f70521..0a78dd7487 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,15 +33,15 @@ (define-public protobuf (package (name "protobuf") - (version "2.6.1") + (version "3.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/google/protobuf/releases/" - "download/v" version "/protobuf-" - version ".tar.bz2")) + "download/v" version "/protobuf-cpp-" + version ".tar.gz")) (sha256 (base32 - "040rcs9fpv4bslhiy43v7dcrzakz4vwwpyqg4jp8bn24sl95ci7f")))) + "0y6cr4l7bwa6zvjv5flzr4cx28shk5h8dz99xw90v8qih954pcrb")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (home-page "https://github.com/google/protobuf") From bfd073319cbde8dda68f0826efab310cc142a602 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Oct 2017 01:41:14 +0200 Subject: [PATCH 022/116] gnu: Add protobuf-c. * gnu/packages/protobuf.scm (protobuf-c): New variable. --- gnu/packages/protobuf.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 0a78dd7487..5d1cfa71e2 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -25,9 +25,10 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module ((guix licenses) - #:select (bsd-3)) + #:select (bsd-2 bsd-3)) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python)) (define-public protobuf @@ -52,6 +53,31 @@ yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.") (license bsd-3))) +(define-public protobuf-c + (package + (name "protobuf-c") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/protobuf-c/protobuf-c/" + "releases/download/v" version + "/protobuf-c-" version ".tar.gz")) + (sha256 + (base32 + "18aj4xfv26zjmj44zbb01wk90jl7y4aj5xvbzz4gg748kdxavjax")))) + (build-system gnu-build-system) + (inputs `(("protobuf" ,protobuf))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/protobuf-c/protobuf-c") + (synopsis "Protocol Buffers implementation in C") + (description + "This is protobuf-c, a C implementation of the Google Protocol Buffers +data serialization format. It includes @code{libprotobuf-c}, a pure C library +that implements protobuf encoding and decoding, and @code{protoc-c}, a code +generator that converts Protocol Buffer @code{.proto} files to C descriptor +code.") + (license bsd-2))) + (define-public python-protobuf (package (name "python-protobuf") From dc1d06ba9e658e6eb0e9d2d3195d33957d40a06d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Oct 2017 01:41:28 +0200 Subject: [PATCH 023/116] gnu: python-protobuf: Update to 3.4.0. * gnu/packages/protobuf.scm (python-protobuf): Update to 3.4.0. --- gnu/packages/protobuf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 5d1cfa71e2..54955823cc 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -81,14 +81,14 @@ code.") (define-public python-protobuf (package (name "python-protobuf") - (version "3.0.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (pypi-uri "protobuf" version)) (sha256 (base32 - "1xbgbfg4g43bihkyw1a2giqa2gxmqc5wkh0fzqcb90qi1z1hpi7c")))) + "0x33xz85cy5ilg1n2rn92l4qwlcw25vzysx2ldv7k625yjg600pg")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) From 07dfc89859a3539100a23c8acc0d643f4f7cb99d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 18 Oct 2017 22:15:09 +0200 Subject: [PATCH 024/116] gnu: mupdf: Fix CVE-2017-15587. * gnu/packages/patches/mupdf-CVE-2017-15587.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/pdf.scm (mupdf)[source](patches): Use it. --- gnu/local.mk | 1 + .../patches/mupdf-CVE-2017-15587.patch | 21 +++++++++++++++++++ gnu/packages/pdf.scm | 3 ++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mupdf-CVE-2017-15587.patch diff --git a/gnu/local.mk b/gnu/local.mk index e2f31c27bf..45adc73f20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -877,6 +877,7 @@ dist_patch_DATA = \ %D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ + %D%/packages/patches/mupdf-CVE-2017-15587.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/musl-CVE-2016-8859.patch \ %D%/packages/patches/mutt-store-references.patch \ diff --git a/gnu/packages/patches/mupdf-CVE-2017-15587.patch b/gnu/packages/patches/mupdf-CVE-2017-15587.patch new file mode 100644 index 0000000000..5da7737ea1 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2017-15587.patch @@ -0,0 +1,21 @@ +Fix CVE-2017-15587. + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15587 +https://nandynarwhals.org/CVE-2017-15587/ + +Copied from upstream: + + +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 66bd0ed..6292793 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -924,7 +924,7 @@ pdf_read_new_xref_section(fz_context *ctx, pdf_document *doc, fz_stream *stm, fz + pdf_xref_entry *table; + int i, n; + +- if (i0 < 0 || i1 < 0) ++ if (i0 < 0 || i1 < 0 || (i0+i1) < 0) + fz_throw(ctx, FZ_ERROR_GENERIC, "negative xref stream entry index"); + //if (i0 + i1 > pdf_xref_len(ctx, doc)) + // fz_throw(ctx, FZ_ERROR_GENERIC, "xref stream has too many entries"); diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 98df90e2d4..56f5486791 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -540,7 +540,8 @@ extracting content or merging files.") (sha256 (base32 "02phamcchgsmvjnb3ir7r5sssvx9fcrscn297z73b82n1jl79510")) - (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch")) + (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch" + "mupdf-CVE-2017-15587.patch")) (modules '((guix build utils))) (snippet ;; Delete all the bundled libraries except for mujs, which is From ef5c40aa2dc59b923465a3719aa3c0965a8f833b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Wed, 18 Oct 2017 23:07:25 +0200 Subject: [PATCH 025/116] gnu: Add atool. * gnu/packages/compression.scm (atool): New variable. Co-authored-by: Ricardo Wurmus --- gnu/packages/compression.scm | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 72d61d25ed..f3142d1ddf 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages curl) + #:use-module (gnu packages file) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -1565,3 +1567,39 @@ zip archives. Files can be added from data buffers, files, or compressed data copied directly from other zip archives. Changes made without closing the archive can be reverted.") (license license:bsd-3))) + +(define-public atool + (package + (name "atool") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://savannah.nongnu.org/download/atool/atool-" + version ".tar.gz")) + (sha256 + (base32 + "0fvhzip2v08jgnlfpyj6rapan39xlsl1ksgq4lp8gfsai2ah1xma")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'embed-absolute-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "atool" + (("(^\\$::cfg_path_file.*= )'file'" _ pre) + (string-append pre "'" (assoc-ref inputs "file") + "/bin/file'"))) + #t))))) + (inputs + `(("perl" ,perl) + ("file" ,file))) + (home-page "http://www.nongnu.org/atool/") + (synopsis "Universal tool to manage file archives of various types") + (description "The main command is @command{aunpack} which extracts files +from an archive. The other commands provided are @command{apack} (to create +archives), @command{als} (to list files in archives), and @command{acat} (to +extract files to standard out). As @command{atool} invokes external programs +to handle the archives, not all commands may be supported for a certain type +of archives.") + (license license:gpl2+))) From 8cb537acbc7cbe0d5a21556f6123dd0c3ce6dcc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Oct 2017 23:00:14 +0200 Subject: [PATCH 026/116] gnu: perl-crypt-random-source: Use 'perl-license'. * gnu/packages/crypto.scm (perl-crypt-random-source)[license]: Change to LICENSE:PERL-LICENSE. --- gnu/packages/crypto.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 427318d455..549955d7b4 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -556,7 +556,7 @@ generator.") (synopsis "Get weak or strong random data from pluggable sources") (description "This module provides implementations for a number of byte-oriented sources of random data.") - (license (package-license perl)))) + (license license:perl-license))) (define-public perl-math-random-secure (package From baa6790b4c9d5aa0b987e4d5c86b06fa6d0d350c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 18 Oct 2017 23:21:00 +0200 Subject: [PATCH 027/116] gnu: mailutils: Update to 3.3. * gnu/packages/mail.scm (mailutils): Update to 3.3. [arguments]: Rename 'pre-build' phase to 'prepare-test-suite', and move after 'check'. Set 'HOME', and create ~/.mh_profile. --- gnu/packages/mail.scm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a07cb1b004..574bb3f4b9 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu @@ -117,19 +117,19 @@ (define-public mailutils (package (name "mailutils") - (version "3.2") + (version "3.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.bz2")) (sha256 (base32 - "0c06yj5hgqibi24ib9sx865kq6i1h18wn201g6iwcfbpi2a7psdm")))) + "1v110avpdz0bvz3yh3cfvvd0dnn7sa6hrpql2h8dgnri8fww6cag")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'build 'pre-build + (add-before 'check 'prepare-test-suite (lambda _ ;; Use the right file name for `cat'. (substitute* "testsuite/lib/mailutils.exp" @@ -162,6 +162,17 @@ (("\\$\\(SHELL\\) \\$\\(TESTSUITE\\)" all) (string-append "-" all))) + ;; 'frm' tests expect write access to $HOME. + (setenv "HOME" (getcwd)) + + ;; Avoid the message "I'm going to create the standard MH path + ;; for you", which would lead to one test failure (when diffing + ;; stdout of 'fmtcheck'.) + (call-with-output-file ".mh_profile" + (lambda (port) + (format port "Path: ~a/Mail-for-tests~%" + (getcwd)))) + #t))) ;; TODO: Add `--with-sql'. #:configure-flags '("--sysconfdir=/etc") From 3031b138f58cae61bd9ef8a98f7ec61f349b157a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 17 Oct 2017 12:45:06 +0200 Subject: [PATCH 028/116] gnu: hplip: Update to 3.17.10. * gnu/packages/cups.scm (hplip): Update to 3.17.10. --- gnu/packages/cups.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index b3268bee7b..491668e522 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -377,14 +377,14 @@ device-specific programs to convert and print many types of files.") (define-public hplip (package (name "hplip") - (version "3.17.7") + (version "3.17.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "03a0vkbrzvgj15il9rvr93kf5pc706gxcjk6akbkzds0zmdbsxrm")))) + "0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg")))) (build-system gnu-build-system) (home-page "http://hplipopensource.com/") (synopsis "HP Printer Drivers") From 2a86fece223cbf334e3bed5547902711b3ab58c3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 17 Oct 2017 12:45:53 +0200 Subject: [PATCH 029/116] gnu: btrfs-progs: Update to 4.13.3. * gnu/packages/linux.scm (btrfs-progs): Update to 4.13.3. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 652b7d3507..fde7be4468 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3171,7 +3171,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.13.2") + (version "4.13.3") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3179,7 +3179,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "1ga8jk2hkaxpm17z3gdfrpq0i62kqpv2wm5yzbzmsj862cgk7ivm")))) + "10yp0b4pwrw5mcd81yn3d0d87fnqpp4si5d25dfhl6n2640dnnw0")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" From 629f33e233c34235ed74a1b12ac38a3f58a99eea Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 18 Oct 2017 01:50:05 +0200 Subject: [PATCH 030/116] gnu: python-pyatspi: Update to 2.26.0. * gnu/packages/gnome.scm (python-pyatspi): Update to 2.26.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e7869ac0fd..ca9f37fd54 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6672,7 +6672,7 @@ kill/reinice processes.") (define-public python-pyatspi (package (name "python-pyatspi") - (version "2.24.0") + (version "2.26.0") (source (origin (method url-fetch) (uri (string-append @@ -6681,7 +6681,7 @@ kill/reinice processes.") "/pyatspi-" version ".tar.xz")) (sha256 (base32 - "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7")))) + "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 0a1a93b4aabb8a2c0ee50f70a3cef7d4e7c626d8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 18 Oct 2017 23:24:35 +0200 Subject: [PATCH 031/116] gnu: eog: Update to 3.26.1. * gnu/packages/gnome.scm (eog): Update to 3.26.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ca9f37fd54..cc338666d8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3769,7 +3769,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") (define-public eog (package (name "eog") - (version "3.24.1") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3777,7 +3777,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") name "-" version ".tar.xz")) (sha256 (base32 - "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm")))) + "125wzr1mai4raybfb2hwjzxv59q20bjpw9j4wn682nn5bd9ypnwq")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases From 39427f9042c49d8fd6bea8349a51903c69901898 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 18 Oct 2017 23:24:48 +0200 Subject: [PATCH 032/116] gnu: eog-plugins: Update to 3.26.1. * gnu/packages/gnome.scm (eog-plugins): Update to 3.26.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cc338666d8..fa71ce2522 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3824,7 +3824,7 @@ supports image conversion, rotation, and slideshows.") ;; 'XDG_DATA_DIRS' appropriately set. (package (name "eog-plugins") - (version "3.25.1") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3832,7 +3832,7 @@ supports image conversion, rotation, and slideshows.") name "-" version ".tar.xz")) (sha256 (base32 - "0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q")))) + "0v45f2m3b60ygkwpq6jrl49nwrivw6qy0ciibpv821qrm73hsgd7")))) (build-system gnu-build-system) (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins") (synopsis "Extensions for the Eye of GNOME image viewer") From c0770feedd08b6e479125dae32c7fe3411adf455 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Oct 2017 23:53:18 +0200 Subject: [PATCH 033/116] gnu: f-seq: Fix location of commons-cli.jar. * gnu/packages/bioinformatics.scm (f-seq)[arguments]: Fix location of commons-cli.jar in the wrapper script. --- gnu/packages/bioinformatics.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 32603ae57e..d15f6fd559 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10035,13 +10035,18 @@ browser.") #:phases (modify-phases %standard-phases (replace 'install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((target (assoc-ref outputs "out")) (doc (string-append target "/share/doc/f-seq/"))) (mkdir-p target) (mkdir-p doc) (substitute* "bin/linux/fseq" - (("java") (which "java"))) + (("java") (which "java")) + (("\\$REALDIR/../lib/commons-cli-1.1.jar") + (string-append (assoc-ref inputs "java-commons-cli") + "/share/java/commons-cli.jar")) + (("REALDIR=.*") + (string-append "REALDIR=" target "/bin\n"))) (install-file "README.txt" doc) (install-file "bin/linux/fseq" (string-append target "/bin")) (install-file "build~/fseq.jar" (string-append target "/lib")) From 9d8796a5169238f00705bbda8885667a24219388 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 18 Oct 2017 23:40:17 +0200 Subject: [PATCH 034/116] Revert "gnu: python-pyatspi: Update to 2.26.0." This reverts commit 629f33e233c34235ed74a1b12ac38a3f58a99eea, which breaks orca@3.26.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fa71ce2522..8bd8c8cd49 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6672,7 +6672,7 @@ kill/reinice processes.") (define-public python-pyatspi (package (name "python-pyatspi") - (version "2.26.0") + (version "2.24.0") (source (origin (method url-fetch) (uri (string-append @@ -6681,7 +6681,7 @@ kill/reinice processes.") "/pyatspi-" version ".tar.xz")) (sha256 (base32 - "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6")))) + "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 7f926760ed3617bccf95b5a5c6a342955b9c470d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 19 Oct 2017 01:06:07 +0200 Subject: [PATCH 035/116] gnu: Add perl-libtime-parsedate. * gnu/packages/perl.scm (perl-libtime-parsedate): New variable. Co-authored-by: Ricardo Wurmus --- gnu/packages/perl.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 494914254e..2d19e19c7c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2017 Christopher Allan Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (gnu packages base) #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config)) @@ -9187,3 +9189,41 @@ interface to File::Find::Object.") (description "Test::TrailingSpace tests for trailing spaces in Perl source files.") (license x11))) + +(define-public perl-libtime-parsedate + (package + (name "perl-libtime-parsedate") + (version "2015.103") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-" + version ".tar.gz")) + (sha256 + (base32 "1lgfr87j4qwqnln0hyyzgik5ixqslzdaksn9m8y824gqbcihc6ic")))) + (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; This is needed for tests + (add-after 'unpack 'set-TZDIR + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t))))) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("tzdata" ,tzdata-2017a))) + (home-page "https://metacpan.org/release/Time-ParseDate") + (synopsis "Collection of Perl modules for time/date manipulation") + (description "Provides several perl modules for date/time manipulation: +@code{Time::CTime.pm}, @code{Time::JulianDay.pm}, @code{Time::ParseDate.pm}, +@code{Time::Timezone.pm}, and @code{Time::DaysInMonth.pm}.") + ;; License text: + ;; "License hereby granted for anyone to use, modify or redistribute this + ;; module at their own risk. Please feed useful changes back to + ;; cpan@dave.sharnoff.org." + (license (non-copyleft "http://metadata.ftp-master.debian.org/\ +changelogs/main/libt/libtime-parsedate-perl/\ +libtime-parsedate-perl_2015.103-2_copyright")))) From a1777c77f0d815d9ab7c03639543d4d18d92093d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 19 Oct 2017 01:13:15 +0200 Subject: [PATCH 036/116] gnu: Add perl-libtime-period. * gnu/packages/perl.scm (perl-libtime-period): New variable. --- gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2d19e19c7c..47c35dcf56 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9227,3 +9227,30 @@ in Perl source files.") (license (non-copyleft "http://metadata.ftp-master.debian.org/\ changelogs/main/libt/libtime-parsedate-perl/\ libtime-parsedate-perl_2015.103-2_copyright")))) + +(define-public perl-libtime-period + (package + (name "perl-libtime-period") + (version "1.20") + (source + (origin + (method url-fetch) + (uri (string-append + "http://http.debian.net/debian/pool/main/libt/" + "libtime-period-perl/libtime-period-perl_" + version ".orig.tar.gz")) + (sha256 + (base32 "0c0yd999h0ikj88c9j95wa087m87i0qh7vja3715y2kd7vixkci2")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + ;; Unless some other homepage is out there... + (home-page "https://packages.debian.org/stretch/libtime-period-perl") + (synopsis "Perl library for testing if a time() is in a specific period") + (description "This Perl library provides a function which tells whether a +specific time falls within a specified time period. Its syntax for specifying +time periods allows you to test for conditions like \"Monday to Friday, 9am +till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and +4:15pm\" and \"in the first half of each minute\" and \"in January of +1998\".") + (license perl-license))) From 0ff4425cea5d0104e86b62dc28f773bb7656e598 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 19 Oct 2017 01:13:51 +0200 Subject: [PATCH 037/116] gnu: Add dirvish. * gnu/packages/backup.scm (dirvish): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/backup.scm | 108 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 40221e5896..4c5c9c7ae4 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Kei Kebreau +;;; Copyright © 2017 Christopher Allan Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -690,3 +691,110 @@ using GnuPG. Backups can be stored on local hard disks, or online via the SSH SFTP protocol. The backup server, if used, does not require any special software, on top of SSH.") (license license:gpl3+))) + +(define-public dirvish + (package + (name "dirvish") + (version "1.2.1") + (build-system gnu-build-system) + (source (origin + (method url-fetch) + (uri (string-append + "http://dirvish.org/dirvish-" version ".tgz")) + (sha256 + (base32 + "1kbxa1irszp2zw8hd5qzqnrrzb4vxfivs1vn64yxnj0lak1jjzvb")))) + (arguments + `(#:modules ((ice-9 match) (ice-9 rdelim) + ,@%gnu-build-system-modules) + #:phases + ;; This mostly mirrors the steps taken in the install.sh that ships + ;; with dirvish, but simplified because we aren't prompting interactively + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; These are mostly the same steps the install.sh that comes with + ;; dirvish does + (let* (;; Files we'll be copying + (executables + '("dirvish" "dirvish-runall" + "dirvish-expire" "dirvish-locate")) + (man-pages + '(("dirvish" "8") ("dirvish-runall" "8") + ("dirvish-expire" "8") ("dirvish-locate" "8") + ("dirvish.conf" "5"))) + + (output-dir + (assoc-ref outputs "out")) + + ;; Just a default... not so useful on guixsd though + ;; You probably want to a service with file(s) to point to. + (confdir "/etc/dirvish") + + (perl (string-append (assoc-ref %build-inputs "perl") + "/bin/perl")) + (loadconfig.pl (call-with-input-file "loadconfig.pl" + read-string))) + + + (define (write-pl filename) + (define pl-header + (string-append "#!" perl "\n\n" + "$CONFDIR = \"" confdir "\";\n\n")) + (define input-file-location + (string-append filename ".pl")) + (define target-file-location + (string-append output-dir "/bin/" filename ".pl")) + (define text-to-write + (string-append pl-header + (call-with-input-file input-file-location + read-string) + "\n" loadconfig.pl)) + (with-output-to-file target-file-location + (lambda () + (display text-to-write))) + (chmod target-file-location #o755) + (wrap-program target-file-location + `("PERL5LIB" ":" prefix + ,(map (lambda (l) (string-append (assoc-ref %build-inputs l) + "/lib/perl5/site_perl")) + '("perl-libtime-period" + "perl-libtime-parsedate"))))) + + (define write-man + (match-lambda + ((file-base man-num) + (let* ((filename + (string-append file-base "." man-num)) + (output-path + (string-append output-dir + "/share/man/man" man-num + "/" filename))) + (copy-file filename output-path))))) + + ;; Make directories + (mkdir-p (string-append output-dir "/bin/")) + (mkdir-p (string-append output-dir "/share/man/man8/")) + (mkdir-p (string-append output-dir "/share/man/man5/")) + + ;; Write out executables + (for-each write-pl executables) + ;; Write out man pages + (for-each write-man man-pages) + #t)))))) + (inputs + `(("perl" ,perl) + ("rsync" ,rsync) + ("perl-libtime-period" ,perl-libtime-period) + ("perl-libtime-parsedate" ,perl-libtime-parsedate))) + (home-page "http://dirvish.org/") + (synopsis "Fast, disk based, rotating network backup system") + (description + "With dirvish you can maintain a set of complete images of your +filesystems with unattended creation and expiration. A dirvish backup vault +is like a time machine for your data. ") + (license (license:fsf-free "file://COPYING" + "Open Software License 2.0")))) From 909f02dd7093121c2ae7f25e8378df82e5d88f46 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Sep 2017 17:30:40 +0000 Subject: [PATCH 038/116] gnu: Order module imports in (gnu packages mate) alphabetically. * gnu/packages/mate.scm: Order module imports alphabetically. Signed-off-by: Ricardo Wurmus --- gnu/packages/mate.scm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 91489ba91b..ea4c8aecc8 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -27,28 +27,28 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) #:use-module (gnu packages) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages fonts) - #:use-module (gnu packages libcanberra) - #:use-module (gnu packages linux) - #:use-module (gnu packages glib) - #:use-module (gnu packages gtk) - #:use-module (gnu packages gettext) - #:use-module (gnu packages gnome) + #:use-module (gnu packages base) #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnuzilla) - #:use-module (gnu packages xorg) - #:use-module (gnu packages documentation) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages base) - #:use-module (gnu packages xml) + #:use-module (gnu packages gtk) + #:use-module (gnu packages libcanberra) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages photo) #:use-module (gnu packages polkit) #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public mate-icon-theme (package From ad3c61fcd3d6e2e3eab41aae642467f5eaf64b57 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 19 Oct 2017 01:37:28 +0200 Subject: [PATCH 039/116] gnu: python-hy: Update to 0.13.0. * gnu/packages/python.scm (python-hy): Update to 0.13.0. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 46df5eaca8..0684090c3d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9713,13 +9713,13 @@ with a new public API, and RPython support.") (define-public python-hy (package (name "python-hy") - (version "0.11.1") + (version "0.13.0") (source (origin (method url-fetch) (uri (pypi-uri "hy" version)) (sha256 (base32 - "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs")))) + "19sfymaksx9jhksfnb15ahid46mzrhdfzz6yy2craz2qnzvpmky8")))) (build-system python-build-system) (arguments '(#:phases From b376ec57f982dad27feb13be7f1b9694e76625d1 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:22 -0400 Subject: [PATCH 040/116] gnu: qemu: Enable spice usb redirection support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (qemu)[arguments]<#:configure-flags>: New argument. [inputs]: Add usbredir. (qemu-minimal)[arguments]<#:configure-flags>: Restrict them even when they are set by qemu. [inputs]: Remove usbredir. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 4e384e79ae..49dee07f5f 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Alex Vong +;;; Copyright © 2017 Andy Patterson ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,7 +86,7 @@ '(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f - + #:configure-flags '("--enable-usb-redir") #:phases (modify-phases %standard-phases (replace 'configure @@ -152,6 +153,7 @@ ("pixman" ,pixman) ("sdl" ,sdl) ("spice" ,spice) + ("usbredir" ,usbredir) ("util-linux" ,util-linux) ;; ("vde2" ,vde2) ("virglrenderer" ,virglrenderer) @@ -188,14 +190,15 @@ server and embedded PowerPC, and S390 guests.") (name "qemu-minimal") (synopsis "Machine emulator and virtualizer (without GUI)") (arguments - `(#:configure-flags - ;; Restrict to the targets supported by Guix. - '("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu,aarch64-softmmu") - ,@(package-arguments qemu))) + (substitute-keyword-arguments (package-arguments qemu) + ((#:configure-flags _ '(list)) + ;; Restrict to the targets supported by Guix. + ''("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu,aarch64-softmmu")))) ;; Remove dependencies on optional libraries, notably GUI libraries. (inputs (fold alist-delete (package-inputs qemu) - '("libusb" "mesa" "sdl" "spice" "virglrenderer"))))) + '("libusb" "mesa" "sdl" "spice" "virglrenderer" + "usbredir"))))) (define-public libosinfo (package From c44dd0d67629ec787bdac1ae71f90b56a8e145e7 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:23 -0400 Subject: [PATCH 041/116] gnu: spice-gtk: Enable GObject introspection support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows virt-manager to use the spice-gtk widget. * gnu/packages/spice.scm (spice-gtk)[inputs]: Add gobject-introspection. [arguments]<#:configure-flags>: Add --enable-introspection. Signed-off-by: Ludovic Courtès --- gnu/packages/spice.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 8e3c5e2b7f..7d49f90be9 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -162,6 +162,7 @@ which allows users to view a desktop computing environment.") ("spice-protocol" ,spice-protocol))) (inputs `(("glib-networking" ,glib-networking) + ("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+) ("libepoxy" ,libepoxy) ("libjpeg" ,libjpeg) @@ -182,7 +183,8 @@ which allows users to view a desktop computing environment.") `(#:configure-flags '("--enable-gstaudio" "--enable-gstvideo" - "--enable-pulse") + "--enable-pulse" + "--enable-introspection") #:phases (modify-phases %standard-phases (add-after From 8da7f79281afc2b4d1f9a79765ae207221c123b0 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:24 -0400 Subject: [PATCH 042/116] gnu: virt-manager: Enable spice-gtk support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (virt-manager)[inputs]: Add spice-gtk. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 49dee07f5f..c31612d231 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -544,7 +544,8 @@ virtualization library.") ("python2-requests" ,python2-requests) ("python2-ipaddr" ,python2-ipaddr) ("python2-pygobject" ,python2-pygobject) - ("python2-libxml2" ,python2-libxml2))) + ("python2-libxml2" ,python2-libxml2) + ("spice-gtk" ,spice-gtk))) ;; virt-manager searches for qemu-img or kvm-img in the PATH. (propagated-inputs `(("qemu" ,qemu))) From 9a187b39b7991463aa6985f5b746fccf69789525 Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:25 -0400 Subject: [PATCH 043/116] gnu: qemu: Add OpenGL support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables virgl support with spice 0.13+. * gnu/packages/virtualization.scm (qemu)[arguments]<#:configure-flags>: Add --enable-opengl. [inputs]: Add libdrm and libepoxy. (qemu-minimal)[inputs]: Remove libdrm and libepoxy. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c31612d231..52a8dcea8c 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -86,7 +86,7 @@ '(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f - #:configure-flags '("--enable-usb-redir") + #:configure-flags '("--enable-usb-redir" "--enable-opengl") #:phases (modify-phases %standard-phases (replace 'configure @@ -144,6 +144,8 @@ ("libaio" ,libaio) ("libattr" ,attr) ("libcap" ,libcap) ; virtfs support requires libcap & libattr + ("libdrm" ,libdrm) + ("libepoxy" ,libepoxy) ("libjpeg" ,libjpeg-8) ("libpng" ,libpng) ("libusb" ,libusb) ;USB pass-through support @@ -198,7 +200,7 @@ server and embedded PowerPC, and S390 guests.") ;; Remove dependencies on optional libraries, notably GUI libraries. (inputs (fold alist-delete (package-inputs qemu) '("libusb" "mesa" "sdl" "spice" "virglrenderer" - "usbredir"))))) + "usbredir" "libdrm" "libepoxy"))))) (define-public libosinfo (package From b764a9f5e0c0e21d4fd67518f1a308bed723731a Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:26 -0400 Subject: [PATCH 044/116] gnu: virt-manager: Enable statistics graphing support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (virt-manager)[inputs]: Add python2-pycairo. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 52a8dcea8c..0cfdbc1fab 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -545,6 +545,7 @@ virtualization library.") ("python2-libvirt" ,python2-libvirt) ("python2-requests" ,python2-requests) ("python2-ipaddr" ,python2-ipaddr) + ("python2-pycairo" ,python2-pycairo) ("python2-pygobject" ,python2-pygobject) ("python2-libxml2" ,python2-libxml2) ("spice-gtk" ,spice-gtk))) From 4ad8fbd1856d7169ff457b6627b6a1259ac48ebd Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sun, 15 Oct 2017 16:03:27 -0400 Subject: [PATCH 045/116] gnu: virt-manager: Fix default URI check. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows virt-manager to connect to qemu://system by default. * gnu/packages/virtualization.scm (virt-manager)[arguments]<#:phases>: Add 'fix-default-uri. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 0cfdbc1fab..b04bdbec94 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -515,6 +515,13 @@ virtualization library.") (substitute* "virtcli/cliconfig.py" (("/usr") (assoc-ref outputs "out"))) #t)) + (add-after 'unpack 'fix-default-uri + (lambda* (#:key inputs #:allow-other-keys) + ;; xen is not available for now - so only patch qemu + (substitute* "virtManager/connect.py" + (("/usr(/bin/qemu-system)" _ suffix) + (string-append (assoc-ref inputs "qemu") suffix))) + #t)) (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) From b79813a19a8892c48bea1e0a9279265616be66d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 5 Oct 2017 17:42:17 +0800 Subject: [PATCH 046/116] gnu: speex: Build and install 'speexdec' and 'speexenc'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xiph.scm (speex)[native-inputs]: Add 'pkg-config'. [inputs]: Add 'speexdsp'. Signed-off-by: Ludovic Courtès --- gnu/packages/xiph.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 47274411b5..5565cb5563 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -139,7 +139,11 @@ compressed video format.") (base32 "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa")))) (build-system gnu-build-system) - (inputs `(("libogg" ,libogg))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libogg" ,libogg) + ("speexdsp" ,speexdsp))) (home-page "https://gnu.org/software/speex") (synopsis "Library for patent-free audio compression format") (description From d1c11418e7004f2f91a6726dfa6f65bd9839333f Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 16 Oct 2017 17:44:57 +0300 Subject: [PATCH 047/116] gnu: emacs: Fix Man default C header file search path. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs): Make sure Man looks for C header files in the right places. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 315db18a57..6d9ea41935 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -135,7 +135,17 @@ (format #f "(tramp-default-remote-path ~s ~s ~s ~s " "~/.guix-profile/bin" "~/.guix-profile/sbin" "/run/current-system/profile/bin" - "/run/current-system/profile/sbin"))))))) + "/run/current-system/profile/sbin"))) + + ;; Make sure Man looks for C header files in the right + ;; places. + (substitute* "man.el" + (("\"/usr/local/include\"" line) + (string-join + (list line + "\"~/.guix-profile/include\"" + "\"/var/guix/profiles/system/profile/include\"") + " "))))))) (build-system glib-or-gtk-build-system) (arguments `(#:phases From 513885b54e5a6abd46cb02b04ebab51b879150c0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Oct 2017 19:12:57 +0200 Subject: [PATCH 048/116] gnu: qemu: Build with libjpeg-turbo. This gets rid of a compile warning since SPICE uses libjpeg-turbo, and reduces the closure size by 0.8MiB. * gnu/packages/virtualization.scm (qemu)[inputs]: Replace LIBJPEG-8 with LIBJPEG-TURBO. --- gnu/packages/virtualization.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index b04bdbec94..c4461c3da2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -146,7 +146,7 @@ ("libcap" ,libcap) ; virtfs support requires libcap & libattr ("libdrm" ,libdrm) ("libepoxy" ,libepoxy) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libusb" ,libusb) ;USB pass-through support ("mesa" ,mesa) From 43dc47fa249aebe3b5cbc0141c2be4ba226e92bf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 18 Oct 2017 22:30:33 +0200 Subject: [PATCH 049/116] gnu: Add zathura-pdf-mupdf. * gnu/packages/pdf.scm (zathura-pdf-mupdf): New variable. --- gnu/packages/pdf.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 56f5486791..6dbba2c7ec 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -413,6 +413,41 @@ using libspectre.") using the DjVuLibre library.") (license license:zlib))) +(define-public zathura-pdf-mupdf + (package + (name "zathura-pdf-mupdf") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-pdf-mupdf" + "/download/zathura-pdf-mupdf-" version ".tar.gz")) + (sha256 + (base32 + "06zqn8z6a0hfsx3s1kzqvqzb73afgcl6z5r062sxv7kv570fvffr")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("girara" ,girara))) + (inputs + `(("gtk+" ,gtk+) + ("jbig2dec" ,jbig2dec) + ("libjpeg" ,libjpeg) + ("mupdf" ,mupdf) + ("openjpeg" ,openjpeg) + ("openssl" ,openssl) + ("zathura" ,zathura))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" %output) + (string-append "PLUGINDIR=" %output "/lib/zathura") + "CC=gcc") + #:tests? #f ;No tests. + #:phases (modify-phases %standard-phases (delete 'configure)))) + (home-page "https://pwmt.org/projects/zathura-pdf-mupdf/") + (synopsis "PDF support for zathura (mupdf backend)") + (description "The zathura-pdf-mupdf plugin adds PDF support to zathura +by using the @code{mupdf} rendering library.") + (license license:zlib))) + (define-public zathura-pdf-poppler (package (name "zathura-pdf-poppler") From 8c1db4fc58859f3fbdf098da1791f5e84f9092ce Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Oct 2017 20:27:25 +0200 Subject: [PATCH 050/116] gnu: yadifa: Update to 2.2.6. * gnu/packages/dns.scm (yadifa): Update to 2.2.6. --- gnu/packages/dns.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 657e7eb2a4..ee5acaf3eb 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -443,9 +443,9 @@ served by AS112. Stub and forward zones are supported.") (define-public yadifa (package (name "yadifa") - (version "2.2.5") + (version "2.2.6") (source - (let ((build "6937")) + (let ((build "7246")) (origin (method url-fetch) (uri @@ -453,7 +453,7 @@ served by AS112. Stub and forward zones are supported.") name "-" version "-" build ".tar.gz")) (sha256 (base32 - "146fs52izf6dfwsxal3srpwin2yyl41g31cy4pyvbi5mqy2craj7"))))) + "041a35f5jz2wcn8pxk1m7b2qln2wbvj4ddwb0a53lqabl912xi6p"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) From a8401c4ef1506c9874a34ccb382239656b3ffdb3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 19 Oct 2017 15:29:09 -0400 Subject: [PATCH 051/116] gnu: linux-libre@4.1: Update to 4.1.45. * gnu/packages/linux.scm (linux-libre-4.1): Update to 4.1.45. Remove patch that is now included upstream. --- gnu/packages/linux.scm | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fde7be4468..c68ffe9fda 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -390,20 +390,10 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.44" - "1h1v2n8fxnn98y0jz9pnr4xdmc0v4l5d3hfxa5n5r3xmjksf1xs3" + (make-linux-libre "4.1.45" + "1ifpyyq86x0imjdfb9vm7m8dbnkw82a7bqczx166zrssc1fc677l" %intel-compatible-systems - #:configuration-file kernel-config - #:patches - (list %boot-logo-patch - (origin - (method url-fetch) - (uri "\ -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/patch/?id=f7ec367c8ea7021517c9c04b0022c225d2d0785a") - (file-name "linux-libre-4.4-CVE-2017-1000251.patch") - (sha256 - (base32 - "1glnjvs3xkvana2wfdv47dxi7jz2s4dz3v0b8ryglf2vbflm388w")))))) + #:configuration-file kernel-config)) (define-public linux-libre-arm-generic (make-linux-libre %linux-libre-version From a7c3dfeb6c0d2ae9a01bbf7ca9e2f71314a517cb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 19 Oct 2017 15:30:30 -0400 Subject: [PATCH 052/116] gnu: linux-libre@4.4: Update to 4.4.93. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.93. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c68ffe9fda..8fc04515b9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -384,8 +384,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.92" - "038mrv36n2521xd1f4nlpn00ar4vwzbwkldf6pk7rflbc3zi0p8g" + (make-linux-libre "4.4.93" + "1llpqkm7vvwi5fm92y4n6qrc89ps7kdfl83s7m38a2yivm3kgzr6" %intel-compatible-systems #:configuration-file kernel-config)) From 7a402621ecdd64c49733691ebac3e8232b11c5cc Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 19 Oct 2017 15:31:02 -0400 Subject: [PATCH 053/116] gnu: linux-libre@4.9: Update to 4.9.57. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.57. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8fc04515b9..b21e3cae1a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -378,8 +378,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.56" - "05wy73yh4jbn1881djs21wl4hws62lyc1frb5di6cg6m3z7j658i" + (make-linux-libre "4.9.57" + "02ldxzbazdbhvgkwxl6xblkwj75s5cm33fpm77kv394w35jan3by" %intel-compatible-systems #:configuration-file kernel-config)) From b11962067b9337c65da499af0dfd48b08915d757 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 19 Oct 2017 15:31:47 -0400 Subject: [PATCH 054/116] gnu: linux-libre: Update to 4.13.8. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.13.8. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b21e3cae1a..66119ca513 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -368,8 +368,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.13.7") -(define %linux-libre-hash "1znf2zrhfb6wmlv09c14y6sawl4nb0jr7gzwwnakspvy0yjs95r3") +(define %linux-libre-version "4.13.8") +(define %linux-libre-hash "0qi2n5lczqwq2v0q5zl08ac3x4lixpj1dmb0kza6hsllmx8hbybw") (define-public linux-libre (make-linux-libre %linux-libre-version From 9b396c0cabb086746cbe4ec20d4ae0d79962d758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 19 Oct 2017 23:11:36 +0200 Subject: [PATCH 055/116] vm: Always use GRUB/i386. Fixes . Reported by Oleg Pykhalov . * gnu/system/vm.scm (virtualized-operating-system): Override the 'bootloader' field. --- gnu/system/vm.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 273a895bef..3127b305e1 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -49,7 +49,7 @@ #:use-module (gnu packages admin) #:use-module (gnu bootloader) - #:use-module ((gnu bootloader grub) #:select (grub-mkrescue-bootloader)) + #:use-module (gnu bootloader grub) #:use-module (gnu system shadow) #:use-module (gnu system pam) #:use-module (gnu system linux-initrd) @@ -565,6 +565,14 @@ environment with the store shared with the host. MAPPINGS is a list of user-file-systems))) (operating-system (inherit os) + + ;; XXX: Until we run QEMU with UEFI support (with the OVMF firmware), + ;; force the traditional i386/BIOS method. + ;; See . + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/vda"))) + (initrd (lambda (file-systems . rest) (apply base-initrd file-systems #:volatile-root? #t From b3ac341d4e681125c0c8b0776dfb269ddd3405f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 16 Oct 2017 22:21:02 +0200 Subject: [PATCH 056/116] download: Remove old-Guile leftovers. This is a followup to 36626c556ed75219bce196ac93d148f6b9af984c. * guix/build/download.scm (http-fetch): Rename 'port-or-bv' to 'port'. Assume (port? port) is always true, and remove other branch. --- guix/build/download.scm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 9490f48055..e227ae598b 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -774,7 +774,7 @@ certificates; otherwise simply ignore them." #:timeout timeout #:verify-certificate? verify-certificate?)) - ((resp bv-or-port) + ((resp port) (http-get uri #:port connection #:decode-body? #f #:streaming? #t #:headers headers)) @@ -787,14 +787,11 @@ certificates; otherwise simply ignore them." (begin (call-with-output-file file (lambda (p) - (if (port? bv-or-port) - (begin - (dump-port* bv-or-port p - #:buffer-size %http-receive-buffer-size - #:reporter (progress-reporter/file - (uri-abbreviation uri) size)) - (newline)) - (put-bytevector p bv-or-port)))) + (dump-port* port p + #:buffer-size %http-receive-buffer-size + #:reporter (progress-reporter/file + (uri-abbreviation uri) size)) + (newline))) file)) ((301 ; moved permanently 302 ; found (redirection) From 347fa4aebf0bd5609761b4515578b7040f0b7d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 16 Oct 2017 22:31:50 +0200 Subject: [PATCH 057/116] download: Make 'http-fetch' public. * guix/build/download.scm (http-fetch): Remove 'file' parameter. Change to return an input port and the content-length. Make public. (url-fetch): Adjust accordingly. --- guix/build/download.scm | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index e227ae598b..3b89f9412f 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -39,6 +39,7 @@ #:use-module (ice-9 format) #:export (open-socket-for-uri open-connection-for-uri + http-fetch %x509-certificate-directory close-connection resolve-uri-reference @@ -745,11 +746,11 @@ Return the resulting target URI." #:query (uri-query ref) #:fragment (uri-fragment ref))))) -(define* (http-fetch uri file #:key timeout (verify-certificate? #t)) - "Fetch data from URI and write it to FILE; when TIMEOUT is true, bail out if -the connection could not be established in less than TIMEOUT seconds. Return -FILE on success. When VERIFY-CERTIFICATE? is true, verify HTTPS -certificates; otherwise simply ignore them." +(define* (http-fetch uri #:key timeout (verify-certificate? #t)) + "Return an input port containing the data at URI, and the expected number of +bytes available or #f. When TIMEOUT is true, bail out if the connection could +not be established in less than TIMEOUT seconds. When VERIFY-CERTIFICATE? is +true, verify HTTPS certificates; otherwise simply ignore them." (define headers `(;; Some web sites, such as http://dist.schmorp.de, would block you if @@ -779,20 +780,10 @@ certificates; otherwise simply ignore them." #:streaming? #t #:headers headers)) ((code) - (response-code resp)) - ((size) - (response-content-length resp))) + (response-code resp))) (case code ((200) ; OK - (begin - (call-with-output-file file - (lambda (p) - (dump-port* port p - #:buffer-size %http-receive-buffer-size - #:reporter (progress-reporter/file - (uri-abbreviation uri) size)) - (newline))) - file)) + (values port (response-content-length resp))) ((301 ; moved permanently 302 ; found (redirection) 303 ; see other @@ -802,7 +793,7 @@ certificates; otherwise simply ignore them." (format #t "following redirection to `~a'...~%" (uri->string uri)) (close connection) - (http-fetch uri file + (http-fetch uri #:timeout timeout #:verify-certificate? verify-certificate?))) (else @@ -873,10 +864,19 @@ otherwise simply ignore them." file (uri->string uri)) (case (uri-scheme uri) ((http https) - (false-if-exception* (http-fetch uri file - #:verify-certificate? - verify-certificate? - #:timeout timeout))) + (false-if-exception* + (let-values (((port size) + (http-fetch uri + #:verify-certificate? verify-certificate? + #:timeout timeout))) + (call-with-output-file file + (lambda (output) + (dump-port* port output + #:buffer-size %http-receive-buffer-size + #:reporter (progress-reporter/file + (uri-abbreviation uri) size)) + (newline))) + #t))) ((ftp) (false-if-exception* (ftp-fetch uri file #:timeout timeout))) From 8c3488259ea9e8d18a2c5b947cf9a137a12546a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 16 Oct 2017 23:16:39 +0200 Subject: [PATCH 058/116] Add (guix progress). Among other things, this removes (guix utils), (guix ui), (guix config), etc. from the closure of (guix build download), as was the case since 798648515b77507c242752457b4dc17c155bad6e. * guix/utils.scm (, call-with-progress-reporter): Move to... * guix/progress.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build/download.scm (current-terminal-columns) (nearest-exact-integer, duration->seconds, seconds->string) (byte-count->string, progress-bar, string-pad-middle) (rate-limited, progress-reporter/file, dump-port*) (time-monotonic): Move to progress.scm. * guix/scripts/download.scm: Adjust accordingly. * guix/scripts/substitute.scm: Likewise. --- Makefile.am | 1 + guix/build/download.scm | 167 +------------------------- guix/progress.scm | 228 ++++++++++++++++++++++++++++++++++++ guix/scripts/download.scm | 4 +- guix/scripts/substitute.scm | 5 +- guix/utils.scm | 28 +---- 6 files changed, 236 insertions(+), 197 deletions(-) create mode 100644 guix/progress.scm diff --git a/Makefile.am b/Makefile.am index efbd07a351..071553b997 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,6 +47,7 @@ MODULES = \ guix/hash.scm \ guix/pk-crypto.scm \ guix/pki.scm \ + guix/progress.scm \ guix/combinators.scm \ guix/memoization.scm \ guix/utils.scm \ diff --git a/guix/build/download.scm b/guix/build/download.scm index 3b89f9412f..61c9c6d3f1 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,7 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015 Steve Sprang ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -27,7 +26,7 @@ #:use-module (guix base64) #:use-module (guix ftp-client) #:use-module (guix build utils) - #:use-module (guix utils) + #:use-module (guix progress) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) @@ -46,8 +45,6 @@ maybe-expand-mirrors url-fetch byte-count->string - current-terminal-columns - progress-reporter/file uri-abbreviation nar-uri-abbreviation store-path-abbreviation)) @@ -62,69 +59,6 @@ ;; Size of the HTTP receive buffer. 65536) -(define current-terminal-columns - ;; Number of columns of the terminal. - (make-parameter 80)) - -(define (nearest-exact-integer x) - "Given a real number X, return the nearest exact integer, with ties going to -the nearest exact even integer." - (inexact->exact (round x))) - -(define (duration->seconds duration) - "Return the number of seconds represented by DURATION, a 'time-duration' -object, as an inexact number." - (+ (time-second duration) - (/ (time-nanosecond duration) 1e9))) - -(define (seconds->string duration) - "Given DURATION in seconds, return a string representing it in 'mm:ss' or -'hh:mm:ss' format, as needed." - (if (not (number? duration)) - "00:00" - (let* ((total-seconds (nearest-exact-integer duration)) - (extra-seconds (modulo total-seconds 3600)) - (num-hours (quotient total-seconds 3600)) - (hours (and (positive? num-hours) num-hours)) - (mins (quotient extra-seconds 60)) - (secs (modulo extra-seconds 60))) - (format #f "~@[~2,'0d:~]~2,'0d:~2,'0d" hours mins secs)))) - -(define (byte-count->string size) - "Given SIZE in bytes, return a string representing it in a human-readable -way." - (let ((KiB 1024.) - (MiB (expt 1024. 2)) - (GiB (expt 1024. 3)) - (TiB (expt 1024. 4))) - (cond - ((< size KiB) (format #f "~dB" (nearest-exact-integer size))) - ((< size MiB) (format #f "~dKiB" (nearest-exact-integer (/ size KiB)))) - ((< size GiB) (format #f "~,1fMiB" (/ size MiB))) - ((< size TiB) (format #f "~,2fGiB" (/ size GiB))) - (else (format #f "~,3fTiB" (/ size TiB)))))) - -(define* (progress-bar % #:optional (bar-width 20)) - "Return % as a string representing an ASCII-art progress bar. The total -width of the bar is BAR-WIDTH." - (let* ((fraction (/ % 100)) - (filled (inexact->exact (floor (* fraction bar-width)))) - (empty (- bar-width filled))) - (format #f "[~a~a]" - (make-string filled #\#) - (make-string empty #\space)))) - -(define (string-pad-middle left right len) - "Combine LEFT and RIGHT with enough padding in the middle so that the -resulting string has length at least LEN (it may overflow). If the string -does not overflow, the last char in RIGHT will be flush with the LEN -column." - (let* ((total-used (+ (string-length left) - (string-length right))) - (num-spaces (max 1 (- len total-used))) - (padding (make-string num-spaces #\space))) - (string-append left padding right))) - (define* (ellipsis #:optional (port (current-output-port))) "Make a rough guess at whether Unicode's HORIZONTAL ELLIPSIS can be written in PORT's encoding, and return either that or ASCII dots." @@ -143,105 +77,6 @@ Otherwise return STORE-PATH." (string-drop base 32))) store-path)) -(cond-expand - (guile-2.2 - ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and - ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it. - (define time-monotonic time-tai)) - (else #t)) - - -;; TODO: replace '(@ (guix build utils) dump-port))'. -(define* (dump-port* in out - #:key (buffer-size 16384) - (reporter (make-progress-reporter noop noop noop))) - "Read as much data as possible from IN and write it to OUT, using chunks of -BUFFER-SIZE bytes. After each successful transfer of BUFFER-SIZE bytes or -less, report the total number of bytes transferred to the REPORTER, which -should be a object." - (define buffer - (make-bytevector buffer-size)) - - (call-with-progress-reporter reporter - (lambda (report) - (let loop ((total 0) - (bytes (get-bytevector-n! in buffer 0 buffer-size))) - (or (eof-object? bytes) - (let ((total (+ total bytes))) - (put-bytevector out buffer 0 bytes) - (report total) - (loop total (get-bytevector-n! in buffer 0 buffer-size)))))))) - -(define (rate-limited proc interval) - "Return a procedure that will forward the invocation to PROC when the time -elapsed since the previous forwarded invocation is greater or equal to -INTERVAL (a time-duration object), otherwise does nothing and returns #f." - (let ((previous-at #f)) - (lambda args - (let* ((now (current-time time-monotonic)) - (forward-invocation (lambda () - (set! previous-at now) - (apply proc args)))) - (if previous-at - (let ((elapsed (time-difference now previous-at))) - (if (time>=? elapsed interval) - (forward-invocation) - #f)) - (forward-invocation)))))) - -(define* (progress-reporter/file file size - #:optional (log-port (current-output-port)) - #:key (abbreviation basename)) - "Return a object to show the progress of FILE's download, -which is SIZE bytes long. The progress report is written to LOG-PORT, with -ABBREVIATION used to shorten FILE for display." - (let ((start-time (current-time time-monotonic)) - (transferred 0)) - (define (render) - "Write the progress report to LOG-PORT." - (define elapsed - (duration->seconds - (time-difference (current-time time-monotonic) start-time))) - (if (number? size) - (let* ((% (* 100.0 (/ transferred size))) - (throughput (/ transferred elapsed)) - (left (format #f " ~a ~a" - (abbreviation file) - (byte-count->string size))) - (right (format #f "~a/s ~a ~a~6,1f%" - (byte-count->string throughput) - (seconds->string elapsed) - (progress-bar %) %))) - (display "\r\x1b[K" log-port) - (display (string-pad-middle left right - (current-terminal-columns)) - log-port) - (flush-output-port log-port)) - (let* ((throughput (/ transferred elapsed)) - (left (format #f " ~a" - (abbreviation file))) - (right (format #f "~a/s ~a | ~a transferred" - (byte-count->string throughput) - (seconds->string elapsed) - (byte-count->string transferred)))) - (display "\r\x1b[K" log-port) - (display (string-pad-middle left right - (current-terminal-columns)) - log-port) - (flush-output-port log-port)))) - - (progress-reporter - (start render) - ;; Report the progress every 300ms or longer. - (report - (let ((rate-limited-render - (rate-limited render (make-time time-monotonic 300000000 0)))) - (lambda (value) - (set! transferred value) - (rate-limited-render)))) - ;; Don't miss the last report. - (stop render)))) - (define* (uri-abbreviation uri #:optional (max-length 42)) "If URI's string representation is larger than MAX-LENGTH, return an abbreviation of URI showing the scheme, host, and basename of the file." diff --git a/guix/progress.scm b/guix/progress.scm new file mode 100644 index 0000000000..beca2c22a6 --- /dev/null +++ b/guix/progress.scm @@ -0,0 +1,228 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Sou Bunnbu +;;; Copyright © 2015 Steve Sprang +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix progress) + #:use-module (guix records) + #:use-module (srfi srfi-19) + #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) + #:use-module (ice-9 format) + #:use-module (ice-9 match) + #:export ( + progress-reporter + make-progress-reporter + progress-reporter? + call-with-progress-reporter + + progress-reporter/silent + progress-reporter/file + + byte-count->string + current-terminal-columns + + dump-port*)) + +;;; Commentary: +;;; +;;; Helper to write progress report code for downloads, etc. +;;; +;;; Code: + +(define-record-type* + progress-reporter make-progress-reporter progress-reporter? + (start progress-reporter-start) ; thunk + (report progress-reporter-report) ; procedure + (stop progress-reporter-stop)) ; thunk + +(define (call-with-progress-reporter reporter proc) + "Start REPORTER for progress reporting, and call @code{(@var{proc} report)} +with the resulting report procedure. When @var{proc} returns, the REPORTER is +stopped." + (match reporter + (($ start report stop) + (dynamic-wind start (lambda () (proc report)) stop)))) + +(define progress-reporter/silent + (make-progress-reporter noop noop noop)) + + +;;; +;;; File download progress report. +;;; + +(cond-expand + (guile-2.2 + ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and + ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it. + (define time-monotonic time-tai)) + (else #t)) + +(define (nearest-exact-integer x) + "Given a real number X, return the nearest exact integer, with ties going to +the nearest exact even integer." + (inexact->exact (round x))) + +(define (duration->seconds duration) + "Return the number of seconds represented by DURATION, a 'time-duration' +object, as an inexact number." + (+ (time-second duration) + (/ (time-nanosecond duration) 1e9))) + +(define (seconds->string duration) + "Given DURATION in seconds, return a string representing it in 'mm:ss' or +'hh:mm:ss' format, as needed." + (if (not (number? duration)) + "00:00" + (let* ((total-seconds (nearest-exact-integer duration)) + (extra-seconds (modulo total-seconds 3600)) + (num-hours (quotient total-seconds 3600)) + (hours (and (positive? num-hours) num-hours)) + (mins (quotient extra-seconds 60)) + (secs (modulo extra-seconds 60))) + (format #f "~@[~2,'0d:~]~2,'0d:~2,'0d" hours mins secs)))) + +(define (byte-count->string size) + "Given SIZE in bytes, return a string representing it in a human-readable +way." + (let ((KiB 1024.) + (MiB (expt 1024. 2)) + (GiB (expt 1024. 3)) + (TiB (expt 1024. 4))) + (cond + ((< size KiB) (format #f "~dB" (nearest-exact-integer size))) + ((< size MiB) (format #f "~dKiB" (nearest-exact-integer (/ size KiB)))) + ((< size GiB) (format #f "~,1fMiB" (/ size MiB))) + ((< size TiB) (format #f "~,2fGiB" (/ size GiB))) + (else (format #f "~,3fTiB" (/ size TiB)))))) + +(define (string-pad-middle left right len) + "Combine LEFT and RIGHT with enough padding in the middle so that the +resulting string has length at least LEN (it may overflow). If the string +does not overflow, the last char in RIGHT will be flush with the LEN +column." + (let* ((total-used (+ (string-length left) + (string-length right))) + (num-spaces (max 1 (- len total-used))) + (padding (make-string num-spaces #\space))) + (string-append left padding right))) + +(define (rate-limited proc interval) + "Return a procedure that will forward the invocation to PROC when the time +elapsed since the previous forwarded invocation is greater or equal to +INTERVAL (a time-duration object), otherwise does nothing and returns #f." + (let ((previous-at #f)) + (lambda args + (let* ((now (current-time time-monotonic)) + (forward-invocation (lambda () + (set! previous-at now) + (apply proc args)))) + (if previous-at + (let ((elapsed (time-difference now previous-at))) + (if (time>=? elapsed interval) + (forward-invocation) + #f)) + (forward-invocation)))))) + +(define current-terminal-columns + ;; Number of columns of the terminal. + (make-parameter 80)) + +(define* (progress-bar % #:optional (bar-width 20)) + "Return % as a string representing an ASCII-art progress bar. The total +width of the bar is BAR-WIDTH." + (let* ((fraction (/ % 100)) + (filled (inexact->exact (floor (* fraction bar-width)))) + (empty (- bar-width filled))) + (format #f "[~a~a]" + (make-string filled #\#) + (make-string empty #\space)))) + +(define* (progress-reporter/file file size + #:optional (log-port (current-output-port)) + #:key (abbreviation basename)) + "Return a object to show the progress of FILE's download, +which is SIZE bytes long. The progress report is written to LOG-PORT, with +ABBREVIATION used to shorten FILE for display." + (let ((start-time (current-time time-monotonic)) + (transferred 0)) + (define (render) + "Write the progress report to LOG-PORT." + (define elapsed + (duration->seconds + (time-difference (current-time time-monotonic) start-time))) + (if (number? size) + (let* ((% (* 100.0 (/ transferred size))) + (throughput (/ transferred elapsed)) + (left (format #f " ~a ~a" + (abbreviation file) + (byte-count->string size))) + (right (format #f "~a/s ~a ~a~6,1f%" + (byte-count->string throughput) + (seconds->string elapsed) + (progress-bar %) %))) + (display "\r\x1b[K" log-port) + (display (string-pad-middle left right + (current-terminal-columns)) + log-port) + (force-output log-port)) + (let* ((throughput (/ transferred elapsed)) + (left (format #f " ~a" + (abbreviation file))) + (right (format #f "~a/s ~a | ~a transferred" + (byte-count->string throughput) + (seconds->string elapsed) + (byte-count->string transferred)))) + (display "\r\x1b[K" log-port) + (display (string-pad-middle left right + (current-terminal-columns)) + log-port) + (force-output log-port)))) + + (progress-reporter + (start render) + ;; Report the progress every 300ms or longer. + (report + (let ((rate-limited-render + (rate-limited render (make-time time-monotonic 300000000 0)))) + (lambda (value) + (set! transferred value) + (rate-limited-render)))) + ;; Don't miss the last report. + (stop render)))) + +;; TODO: replace '(@ (guix build utils) dump-port))'. +(define* (dump-port* in out + #:key (buffer-size 16384) + (reporter progress-reporter/silent)) + "Read as much data as possible from IN and write it to OUT, using chunks of +BUFFER-SIZE bytes. After each successful transfer of BUFFER-SIZE bytes or +less, report the total number of bytes transferred to the REPORTER, which +should be a object." + (define buffer + (make-bytevector buffer-size)) + + (call-with-progress-reporter reporter + (lambda (report) + (let loop ((total 0) + (bytes (get-bytevector-n! in buffer 0 buffer-size))) + (or (eof-object? bytes) + (let ((total (+ total bytes))) + (put-bytevector out buffer 0 bytes) + (report total) + (loop total (get-bytevector-n! in buffer 0 buffer-size)))))))) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 8225f82bb9..1b99bc62cf 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -25,7 +25,9 @@ #:use-module (guix base32) #:use-module ((guix download) #:hide (url-fetch)) #:use-module ((guix build download) - #:select (url-fetch current-terminal-columns)) + #:select (url-fetch)) + #:use-module ((guix progress) + #:select (current-terminal-columns)) #:use-module ((guix build syscalls) #:select (terminal-columns)) #:use-module (web uri) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 60dbdb1766..1fbeed71e8 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -33,13 +33,12 @@ #:use-module (guix pki) #:use-module ((guix build utils) #:select (mkdir-p dump-port)) #:use-module ((guix build download) - #:select (current-terminal-columns - progress-reporter/file - uri-abbreviation nar-uri-abbreviation + #:select (uri-abbreviation nar-uri-abbreviation (open-connection-for-uri . guix:open-connection-for-uri) close-connection store-path-abbreviation byte-count->string)) + #:use-module (guix progress) #:use-module ((guix build syscalls) #:select (set-thread-name)) #:use-module (ice-9 rdelim) diff --git a/guix/utils.scm b/guix/utils.scm index 2cf9be36df..eb1ec29b32 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -33,7 +33,6 @@ #:autoload (rnrs io ports) (make-custom-binary-input-port) #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) #:use-module (guix memoization) - #:use-module (guix records) #:use-module ((guix build utils) #:select (dump-port mkdir-p)) #:use-module ((guix build syscalls) #:select (mkdtemp! fdatasync)) #:use-module (ice-9 format) @@ -95,13 +94,7 @@ call-with-decompressed-port compressed-output-port call-with-compressed-output-port - canonical-newline-port - - - progress-reporter - make-progress-reporter - progress-reporter? - call-with-progress-reporter)) + canonical-newline-port)) ;;; @@ -757,25 +750,6 @@ a location object." (column . ,(location-column loc)) (filename . ,(location-file loc)))) - -;;; -;;; Progress reporter. -;;; - -(define-record-type* - progress-reporter make-progress-reporter progress-reporter? - (start progress-reporter-start) ; thunk - (report progress-reporter-report) ; procedure - (stop progress-reporter-stop)) ; thunk - -(define (call-with-progress-reporter reporter proc) - "Start REPORTER for progress reporting, and call @code{(@var{proc} report)} -with the resulting report procedure. When @var{proc} returns, the REPORTER is -stopped." - (match reporter - (($ start report stop) - (dynamic-wind start (lambda () (proc report)) stop)))) - ;;; Local Variables: ;;; eval: (put 'call-with-progress-reporter 'scheme-indent-function 1) ;;; End: From 37ce440dcffa9ff4f5401bacbc9619bd8ea561c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 17 Oct 2017 10:34:03 +0200 Subject: [PATCH 059/116] download: Download a nar when a VCS checkout fails. Fixes . * guix/build/download-nar.scm: New file. * Makefile.am (MODULES): Add it. * guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New variables. [build]: Use MODULES. Add call to 'download-nar'. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. --- Makefile.am | 1 + guix/build/download-nar.scm | 125 ++++++++++++++++++++++++++++++++++++ guix/cvs-download.scm | 38 ++++++++--- guix/git-download.scm | 37 ++++++++--- guix/hg-download.scm | 36 ++++++++--- 5 files changed, 211 insertions(+), 26 deletions(-) create mode 100644 guix/build/download-nar.scm diff --git a/Makefile.am b/Makefile.am index 071553b997..2855b4efdd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -106,6 +106,7 @@ MODULES = \ guix/ui.scm \ guix/build/ant-build-system.scm \ guix/build/download.scm \ + guix/build/download-nar.scm \ guix/build/cargo-build-system.scm \ guix/build/cmake-build-system.scm \ guix/build/dub-build-system.scm \ diff --git a/guix/build/download-nar.scm b/guix/build/download-nar.scm new file mode 100644 index 0000000000..13f01fb1e8 --- /dev/null +++ b/guix/build/download-nar.scm @@ -0,0 +1,125 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build download-nar) + #:use-module (guix build download) + #:use-module (guix build utils) + #:use-module (guix serialization) + #:use-module (guix zlib) + #:use-module (guix progress) + #:use-module (web uri) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:use-module (ice-9 format) + #:use-module (ice-9 match) + #:export (download-nar)) + +;;; Commentary: +;;; +;;; Download a normalized archive or "nar", similar to what 'guix substitute' +;;; does. The intent here is to use substitute servers as content-addressed +;;; mirrors of VCS checkouts. This is mostly useful for users who have +;;; disabled substitutes. +;;; +;;; Code: + +(define (urls-for-item item) + "Return the fallback nar URL for ITEM--e.g., +\"/gnu/store/cabbag3…-foo-1.2-checkout\"." + ;; Here we hard-code nar URLs without checking narinfos. That's probably OK + ;; though. + ;; TODO: Use HTTPS? The downside is the extra dependency. + (let ((bases '("http://mirror.hydra.gnu.org/guix" + "http://berlin.guixsd.org")) + (item (basename item))) + (append (map (cut string-append <> "/nar/gzip/" item) bases) + (map (cut string-append <> "/nar/" item) bases)))) + +(define (restore-gzipped-nar port item size) + "Restore the gzipped nar read from PORT, of SIZE bytes (compressed), to +ITEM." + ;; Since PORT is typically a non-file port (for instance because 'http-get' + ;; returns a delimited port), create a child process so we're back to a file + ;; port that can be passed to 'call-with-gzip-input-port'. + (match (pipe) + ((input . output) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (close-port output) + (close-port port) + (catch #t + (lambda () + (call-with-gzip-input-port input + (cut restore-file <> item))) + (lambda (key . args) + (print-exception (current-error-port) + (stack-ref (make-stack #t) 1) + key args) + (primitive-exit 1)))) + (lambda () + (primitive-exit 0)))) + (child + (close-port input) + (dump-port* port output + #:reporter (progress-reporter/file item size + #:abbreviation + store-path-abbreviation)) + (close-port output) + (newline) + (match (waitpid child) + ((_ . status) + (unless (zero? status) + (error "nar decompression failed" status))))))))) + +(define (download-nar item) + "Download and extract the normalized archive for ITEM. Return #t on +success, #f otherwise." + ;; Let progress reports go through. + (setvbuf (current-error-port) _IONBF) + (setvbuf (current-output-port) _IONBF) + + (let loop ((urls (urls-for-item item))) + (match urls + ((url rest ...) + (format #t "Trying content-addressed mirror at ~a...~%" + (uri-host (string->uri url))) + (let-values (((port size) + (catch #t + (lambda () + (http-fetch (string->uri url))) + (lambda args + (values #f #f))))) + (if (not port) + (loop rest) + (begin + (if size + (format #t "Downloading from ~a (~,2h MiB)...~%" url + (/ size (expt 2 20.))) + (format #t "Downloading from ~a...~%" url)) + (if (string-contains url "/gzip") + (restore-gzipped-nar port item size) + (begin + ;; FIXME: Add progress report. + (restore-file port item) + (close-port port))) + #t)))) + (() + #f)))) diff --git a/guix/cvs-download.scm b/guix/cvs-download.scm index 85744c5b55..8b46f8ef8c 100644 --- a/guix/cvs-download.scm +++ b/guix/cvs-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Mark H Weaver ;;; @@ -23,6 +23,7 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) + #:use-module (guix modules) #:use-module (guix packages) #:use-module (ice-9 match) #:export (cvs-reference @@ -59,16 +60,35 @@ "Return a fixed-output derivation that fetches REF, a object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." + (define zlib + (module-ref (resolve-interface '(gnu packages compression)) 'zlib)) + + (define config.scm + (scheme-file "config.scm" + #~(begin + (define-module (guix config) + #:export (%libz)) + + (define %libz + #+(file-append zlib "/lib/libz"))))) + + (define modules + (cons `((guix config) => ,config.scm) + (delete '(guix config) + (source-module-closure '((guix build cvs) + (guix build download-nar)))))) (define build - (with-imported-modules '((guix build cvs) - (guix build utils)) + (with-imported-modules modules #~(begin - (use-modules (guix build cvs)) - (cvs-fetch '#$(cvs-reference-root-directory ref) - '#$(cvs-reference-module ref) - '#$(cvs-reference-revision ref) - #$output - #:cvs-command (string-append #+cvs "/bin/cvs"))))) + (use-modules (guix build cvs) + (guix build download-nar)) + + (or (cvs-fetch '#$(cvs-reference-root-directory ref) + '#$(cvs-reference-module ref) + '#$(cvs-reference-revision ref) + #$output + #:cvs-command (string-append #+cvs "/bin/cvs")) + (download-nar #$output))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "cvs-checkout") build diff --git a/guix/git-download.scm b/guix/git-download.scm index 7397cbe7f5..731e549b38 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -25,6 +25,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix packages) + #:use-module (guix modules) #:autoload (guix build-system gnu) (standard-packages) #:use-module (ice-9 match) #:use-module (ice-9 popen) @@ -77,12 +78,31 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (standard-packages) '())) + (define zlib + (module-ref (resolve-interface '(gnu packages compression)) 'zlib)) + + (define config.scm + (scheme-file "config.scm" + #~(begin + (define-module (guix config) + #:export (%libz)) + + (define %libz + #+(file-append zlib "/lib/libz"))))) + + (define modules + (cons `((guix config) => ,config.scm) + (delete '(guix config) + (source-module-closure '((guix build git) + (guix build utils) + (guix build download-nar)))))) + (define build - (with-imported-modules '((guix build git) - (guix build utils)) + (with-imported-modules modules #~(begin (use-modules (guix build git) (guix build utils) + (guix build download-nar) (ice-9 match)) ;; The 'git submodule' commands expects Coreutils, sed, @@ -92,12 +112,13 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (((names dirs) ...) dirs))) - (git-fetch (getenv "git url") (getenv "git commit") - #$output - #:recursive? (call-with-input-string - (getenv "git recursive?") - read) - #:git-command (string-append #+git "/bin/git"))))) + (or (git-fetch (getenv "git url") (getenv "git commit") + #$output + #:recursive? (call-with-input-string + (getenv "git recursive?") + read) + #:git-command (string-append #+git "/bin/git")) + (download-nar #$output))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "git-checkout") build diff --git a/guix/hg-download.scm b/guix/hg-download.scm index 8420980905..6b25b87b6b 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -22,6 +22,7 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (guix records) + #:use-module (guix modules) #:use-module (guix packages) #:autoload (guix build-system gnu) (standard-packages) #:use-module (ice-9 match) @@ -59,18 +60,35 @@ "Return a fixed-output derivation that fetches REF, a object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." + (define zlib + (module-ref (resolve-interface '(gnu packages compression)) 'zlib)) + + (define config.scm + (scheme-file "config.scm" + #~(begin + (define-module (guix config) + #:export (%libz)) + + (define %libz + #+(file-append zlib "/lib/libz"))))) + + (define modules + (cons `((guix config) => ,config.scm) + (delete '(guix config) + (source-module-closure '((guix build hg) + (guix build download-nar)))))) + (define build - (with-imported-modules '((guix build hg) - (guix build utils)) + (with-imported-modules modules #~(begin (use-modules (guix build hg) - (guix build utils) - (ice-9 match)) + (guix build download-nar)) - (hg-fetch '#$(hg-reference-url ref) - '#$(hg-reference-changeset ref) - #$output - #:hg-command (string-append #+hg "/bin/hg"))))) + (or (hg-fetch '#$(hg-reference-url ref) + '#$(hg-reference-changeset ref) + #$output + #:hg-command (string-append #+hg "/bin/hg")) + (download-nar #$output))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "hg-checkout") build From 9ccce799102433b0ae2b480ac0c4f96794808199 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 19 Oct 2017 17:33:55 -0400 Subject: [PATCH 060/116] gnu: musl: Update to 1.1.17. * gnu/packages/musl.scm (musl): Update to 1.1.17. [source]: Remove patch. * gnu/packages/patches/musl-CVE-2016-8859.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/musl.scm | 5 +- gnu/packages/patches/musl-CVE-2016-8859.patch | 81 ------------------- 3 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/musl-CVE-2016-8859.patch diff --git a/gnu/local.mk b/gnu/local.mk index 45adc73f20..fd4f1bed97 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -879,7 +879,6 @@ dist_patch_DATA = \ %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ %D%/packages/patches/mupdf-CVE-2017-15587.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ - %D%/packages/patches/musl-CVE-2016-8859.patch \ %D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/ncurses-CVE-2017-10684-10685.patch \ %D%/packages/patches/net-tools-bitrot.patch \ diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index 321290872e..dbb8c4856f 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -27,15 +27,14 @@ (define-public musl (package (name "musl") - (version "1.1.15") + (version "1.1.17") (source (origin (method url-fetch) (uri (string-append "http://www.musl-libc.org/releases/" name "-" version ".tar.gz")) - (patches (search-patches "musl-CVE-2016-8859.patch")) (sha256 (base32 - "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p")))) + "0r0lyp2w6v2bvm8h1si7w3p2qx037szl14qnxm5p00568z3m3an8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; Musl has no tests diff --git a/gnu/packages/patches/musl-CVE-2016-8859.patch b/gnu/packages/patches/musl-CVE-2016-8859.patch deleted file mode 100644 index 7bb5b892dd..0000000000 --- a/gnu/packages/patches/musl-CVE-2016-8859.patch +++ /dev/null @@ -1,81 +0,0 @@ -Fix CVE-2016-8859: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8859 - -Patch copied from upstream source repository: - -http://git.musl-libc.org/cgit/musl/commit/?id=c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 - -From c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 Mon Sep 17 00:00:00 2001 -From: Rich Felker -Date: Thu, 6 Oct 2016 18:34:58 -0400 -Subject: [PATCH] fix missing integer overflow checks in regexec buffer size - computations - -most of the possible overflows were already ruled out in practice by -regcomp having already succeeded performing larger allocations. -however at least the num_states*num_tags multiplication can clearly -overflow in practice. for safety, check them all, and use the proper -type, size_t, rather than int. - -also improve comments, use calloc in place of malloc+memset, and -remove bogus casts. ---- - src/regex/regexec.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/src/regex/regexec.c b/src/regex/regexec.c -index 16c5d0a..dd52319 100644 ---- a/src/regex/regexec.c -+++ b/src/regex/regexec.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - - #include - -@@ -206,11 +207,24 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string, - - /* Allocate memory for temporary data required for matching. This needs to - be done for every matching operation to be thread safe. This allocates -- everything in a single large block from the stack frame using alloca() -- or with malloc() if alloca is unavailable. */ -+ everything in a single large block with calloc(). */ - { -- int tbytes, rbytes, pbytes, xbytes, total_bytes; -+ size_t tbytes, rbytes, pbytes, xbytes, total_bytes; - char *tmp_buf; -+ -+ /* Ensure that tbytes and xbytes*num_states cannot overflow, and that -+ * they don't contribute more than 1/8 of SIZE_MAX to total_bytes. */ -+ if (num_tags > SIZE_MAX/(8 * sizeof(int) * tnfa->num_states)) -+ goto error_exit; -+ -+ /* Likewise check rbytes. */ -+ if (tnfa->num_states+1 > SIZE_MAX/(8 * sizeof(*reach_next))) -+ goto error_exit; -+ -+ /* Likewise check pbytes. */ -+ if (tnfa->num_states > SIZE_MAX/(8 * sizeof(*reach_pos))) -+ goto error_exit; -+ - /* Compute the length of the block we need. */ - tbytes = sizeof(*tmp_tags) * num_tags; - rbytes = sizeof(*reach_next) * (tnfa->num_states + 1); -@@ -221,10 +235,9 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string, - + (rbytes + xbytes * tnfa->num_states) * 2 + tbytes + pbytes; - - /* Allocate the memory. */ -- buf = xmalloc((unsigned)total_bytes); -+ buf = calloc(total_bytes, 1); - if (buf == NULL) - return REG_ESPACE; -- memset(buf, 0, (size_t)total_bytes); - - /* Get the various pointers within tmp_buf (properly aligned). */ - tmp_tags = (void *)buf; --- -2.10.1 - From 7f652029908f23d85629e2932cc70585ba3e8a1b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 19 Oct 2017 18:00:42 -0400 Subject: [PATCH 061/116] gnu: python-sge-pygame: Update source URL. * gnu/packages/game-development.scm (python-sge-pygame)[source]: Update URL. --- gnu/packages/game-development.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 9916a1cb3e..37a30c835b 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -280,7 +280,10 @@ files) into @file{.grf} and/or @file{.nfo} files.") (source (origin (method url-fetch) - (uri (pypi-uri "sge-pygame" version)) + (uri (string-append "mirror://savannah/stellarengine/" + (version-major+minor version) "/sge-pygame-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1rl3xjzh78sl0sq3xl8rl7cgp9v9v3h7s2pfwn7nj1vrmffzkcpd")))) From 47b85a69c0ab9d9e77fcf1e48b2f3e0a1172b2a1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 19 Oct 2017 14:11:47 +0200 Subject: [PATCH 062/116] gnu: cppcheck: Update to 1.81. * gnu/packages/check.scm (cppcheck): Update to 1.81. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 5236444abc..1d2ac20326 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -244,13 +244,13 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.80") + (version "1.81") (source (origin (method url-fetch) (uri (string-append "https://github.com/danmar/cppcheck/archive/" version ".tar.gz")) (sha256 - (base32 "007hs15i2pn49l6kycy49h3bj66qh6fxrp6yidj3776n32q3v1i0")) + (base32 "0miamqk7pa2dzmnmi5wb6hjp2a3zya1x8afnlcxby8jb6gp6wf8j")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (home-page "http://cppcheck.sourceforge.net") From 57473bfc5187223a8a039f7bb7daf6154aef9333 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 19 Oct 2017 14:19:33 +0200 Subject: [PATCH 063/116] gnu: speedtest-cli: Update to 1.0.7. * gnu/packages/networking.scm (speedtest-cli): Update to 1.0.7. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 633b8ca43e..79666a93d8 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1267,7 +1267,7 @@ networks.") (define-public speedtest-cli (package (name "speedtest-cli") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) @@ -1276,7 +1276,7 @@ networks.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1alambi1ljng6j04k7pq58jqwd0wh1q9630f17nl34ljabji5lwy")))) + "1fbq4kpx8sj50g74hwpixisfjjgxq6zyn40d3m28dxhn7mxbnlrq")))) (build-system python-build-system) (home-page "https://github.com/sivel/speedtest-cli") (synopsis "Internet bandwidth tester") From 1e9433cf4de46ec1842fba772506973f18d6d1d1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 19 Oct 2017 14:39:20 +0200 Subject: [PATCH 064/116] gnu: qtox: Update to 1.12.1. * gnu/packages/messaging.scm (qtox): Update to 1.12.1. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7e093bc111..cd9c41fccf 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -801,14 +801,14 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/archive/v" version ".tar.gz")) (sha256 (base32 - "0ycgvcfn8hchc775dcn1wpdqff8chvzz1svx9g99wa5vcns9pflg")) + "0dwy0abcxzzcybww2xi33cla71a7752cq02qswcks5kbxnf5pck5")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments From 378140e591170a369a03641e095cf7e0e11def79 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 19 Oct 2017 23:12:53 +0200 Subject: [PATCH 065/116] gnu: neofetch: Update to 3.3.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/admin.scm (neofetch): Update to 3.3.0. [arguments]: Add ‘install’ phase replacement that manually invokes make. --- gnu/packages/admin.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 23024fc363..265ca63213 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2139,7 +2139,7 @@ tool for remote execution and deployment.") (define-public neofetch (package (name "neofetch") - (version "3.2.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/dylanaraps/neofetch/" @@ -2147,10 +2147,10 @@ tool for remote execution and deployment.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07a32rzmch51znxspzyc7zyaldmr383v70b49wmnjdjs2qfdbv3a")))) + "15p69q0jchfms1fpb4i7kq8b28w2xpgh2zmynln618qxv1myf228")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; there are no tests + `(#:tests? #f ; there are no tests #:make-flags (list (string-append "PREFIX=" %output)) #:phases @@ -2167,7 +2167,15 @@ tool for remote execution and deployment.") (("\"/usr/share/neofetch") (string-append "\"" out "/share/neofetch")))) #t)) - (delete 'configure)))) + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key make-flags outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version)) + (etc (string-append doc "/examples/etc"))) + (zero? (apply system* `("make" ,@make-flags + ,(string-append "SYSCONFDIR=" etc) + "install"))))))))) (home-page "https://github.com/dylanaraps/neofetch") (synopsis "System info script") (description "Neofetch is a CLI system information tool written in Bash. From fc622383a7e265e154191a90fcc1971bcf09e700 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 19 Oct 2017 23:26:27 +0200 Subject: [PATCH 066/116] gnu: unbound: Update to 1.6.7. * gnu/packages/dns.scm (unbound): Update to 1.6.7. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index ee5acaf3eb..e6afc04208 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -284,7 +284,7 @@ asynchronous fashion.") (define-public unbound (package (name "unbound") - (version "1.6.3") + (version "1.6.7") (source (origin (method url-fetch) @@ -292,7 +292,7 @@ asynchronous fashion.") version ".tar.gz")) (sha256 (base32 - "0pw4m4z5qspsagxzbjb61xq5bhd57amw26xqvqzi6b8d3mf6azjc")))) + "17qwfmlls0w9kpkya3dlpn44b3kr87wsswzg3gawc13hh8yx8ysf")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs From 8cccd09d3e27c3b475fd559ea1bae5f843a26bbe Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 00:33:40 +0200 Subject: [PATCH 067/116] gnu: colordiff: Use HTTPS home page. * gnu/packages/patchutils.scm (colordiff)[home-page]: Use HTTPS. --- gnu/packages/patchutils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index f527231aa8..1e4b3fbd1c 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -171,7 +171,7 @@ refreshed, and more.") (inputs `(("perl" ,perl) ("xmlto" ,xmlto))) - (home-page "http://www.colordiff.org") + (home-page "https://www.colordiff.org") (synopsis "Display diff output with colors") (description "Colordiff is Perl script wrapper on top of diff command which provides From 46ba5337c0c2c7d43702bc8702024e989bd93014 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 01:33:02 +0200 Subject: [PATCH 068/116] gnu: cowsay: Update to 3.04. * gnu/packages/games.scm (cowsay): Update to 3.04. [source]: Download from new location. [home-page]: Point directly to the relevant page. [description]: Correct mark-up and expand slightly. --- gnu/packages/games.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 04b7b78d36..048d597a2f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -248,15 +248,15 @@ the others like yourself, that want what you have.") (define-public cowsay (package (name "cowsay") - (version "3.03") + (version "3.04") (source (origin (method url-fetch) - (uri (string-append "https://web.archive.org/web/20071026043648/" - "http://www.nog.net:80/~tony/warez/" - "cowsay-" version ".tar.gz")) + (uri (string-append "https://github.com/tnalpgge/" + "rank-amateur-cowsay/archive/" + name "-" version ".tar.gz")) (sha256 (base32 - "1bxj802na2si2bk5zh7n0b7c33mg8a5n2wnvh0vihl9bmjkp51hb")))) + "12w7apbf6a9qffk92r32b16w22na2fjcqbl32rn0n7zw5hrp3f6q")))) (build-system gnu-build-system) (arguments `(#:phases @@ -275,12 +275,12 @@ the others like yourself, that want what you have.") (inputs `(("perl" ,perl))) (home-page (string-append "https://web.archive.org/web/20071026043648/" - "http://www.nog.net:80/~tony/warez/")) + "http://www.nog.net:80/~tony/warez/cowsay.shtml")) (synopsis "Speaking cow text filter") (description "Cowsay is basically a text filter. Send some text into it, and you get a cow saying your text. If you think a talking cow isn't enough, -cows can think too. All you have to do is run @code{cowthink}.") - ;; Any version of the GPL. +cows can think too: all you have to do is run @command{cowthink}. If you're +tired of cows, a variety of other ASCII-art messengers are available.") (license license:gpl3+))) (define-public freedoom From 6c0c17527159cfb8c3c68fccec1dfa017b964947 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 01:38:24 +0200 Subject: [PATCH 069/116] =?UTF-8?q?gnu:=20cowsay:=20Swap=20=E2=80=98build?= =?UTF-8?q?=E2=80=99=20and=20=E2=80=98install=E2=80=99=20phases.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (cowsay)[arguments]: Invoke ‘install.sh’ during the ‘install’ phase. Delete the ‘build’ phase, as there's nothing to be built. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 048d597a2f..6709f02923 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -261,9 +261,9 @@ the others like yourself, that want what you have.") (arguments `(#:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'install) - (replace 'build + (delete 'configure) ; no configure script + (delete 'build) ; nothing to be built + (replace 'install (lambda* (#:key outputs #:allow-other-keys) (zero? (system* "sh" "install.sh" (assoc-ref outputs "out"))))) From 3b2fa4787938a408fab27ef7b3bc1302b6b6a805 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 01:40:19 +0200 Subject: [PATCH 070/116] gnu: dos2unix: Update to 7.4.0. * gnu/packages/textutils.scm (dos2unix): Update to 7.4.0. --- gnu/packages/textutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 2007a25d93..b540004fc3 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -53,14 +53,14 @@ (define-public dos2unix (package (name "dos2unix") - (version "7.3.4") + (version "7.4.0") (source (origin (method url-fetch) (uri (string-append "https://waterlan.home.xs4all.nl/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "1i9hbxn0br7xa18z4bjpkdv7mrzmbfxhm44mzpd07yd2qnxsgkcc")))) + (base32 "12h4c61g376bhq03y5g2xszkrkrj5hwd928rly3xsp6rvfmnbixs")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" From 49d3d1d9379267f9b1e1f66a5b0bcbd144cb6fd1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 20 Oct 2017 10:24:24 +0000 Subject: [PATCH 071/116] gnu: shellcheck: Update to 0.4.6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (shellcheck): Update to 0.4.6. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7e879f4ad5..6864b7df6d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Ludovic Courtès -;;; Copyright © 2016 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016, 2017 David Craven @@ -8601,7 +8601,7 @@ JSON (JavaScript Object Notation) is a lightweight data-interchange format.") (define-public shellcheck (package (name "shellcheck") - (version "0.4.5") + (version "0.4.6") (source (origin (method url-fetch) @@ -8609,7 +8609,7 @@ JSON (JavaScript Object Notation) is a lightweight data-interchange format.") "v" version ".tar.gz")) (sha256 (base32 - "14r84fcn28rin339avlvca5g0kz832f01x8dpmwb5ql8mbc4rlxr")) + "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w")) (file-name (string-append name "-" version ".tar.gz")))) (build-system haskell-build-system) (inputs From 6df274073a15f33fcced306c068af9e84b96b8b9 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 14 Oct 2017 13:29:14 +0300 Subject: [PATCH 072/116] gnu: Add emacs-json-snatcher. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-json-snatcher): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6d9ea41935..bc803892af 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5667,6 +5667,26 @@ pair of minor modes which suppress all mouse events by intercepting them and running a customisable handler command (@code{ignore} by default). ") (license license:gpl3+))) +(define-public emacs-json-snatcher + (package + (name "emacs-json-snatcher") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb")))) + (build-system emacs-build-system) + (home-page "https://github.com/sterlingg/json-snatcher") + (synopsis "Grabs the path to JSON values in a JSON file") + (description "@code{emacs-json-snatcher} grabs the path to JSON values in +a @url{http://json.org/, JSON} file.") + (license license:gpl3+))) + (define-public emacs-restclient (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40") (revision "1")) ;Guix package revision, From f71ce2824d8838109c7ad812f4284de16a3b0afc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 20 Oct 2017 16:23:10 +0300 Subject: [PATCH 073/116] gnu: speexdsp: Fix building on aarch64-linux. * gnu/packages/xiph.scm (speexdsp)[arguments]: On aarch64-linux, disable neon optimisations. --- gnu/packages/xiph.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 5565cb5563..9277f57ad4 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -167,6 +167,11 @@ stereo encoding, and voice activity detection.") (base32 "1wcjyrnwlkayb20zdhp48y260rfyzg925qpjpljd5x9r01h8irja")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags '(,@(if (string=? "aarch64-linux" + (%current-system)) + '("--enable-neon=no") ; neon defaults to armv7-a + '())))) (home-page "https://speex.org/") (synopsis "Speex processing library") (description From 6779ae27e62ab390b970944c74fb910028a40530 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 20 Oct 2017 18:42:15 +0200 Subject: [PATCH 074/116] gnu: Add ffms2. * gnu/packages/video.scm (aegisub): New variable. --- gnu/packages/video.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c1856b62f3..0605c1467e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2385,3 +2385,33 @@ tables") generation of MPEG TS and DVB PSI tables according to standards ISO/IEC 13818s and ITU-T H.222.0.") (license license:lgpl2.1))) + +(define-public ffms2 + (package + (name "ffms2") + (version "2.23") + (home-page "https://github.com/FFMS/ffms2/") + (source (origin + (method url-fetch) + (uri (string-append home-page "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vbkab8vrplxz5xgag8ggzkwp4f7nf285pd0l2a7zy66n6i2m6xh")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list "--enable-avresample"))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("ffmpeg" ,ffmpeg))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Cross-platform wrapper around ffmpeg/libav") + (description + "FFMpegSource is a wrapper library around ffmpeg/libav that allows +programmers to access a standard API to open and decompress media files.") + ;; sources are distributed under a different license that the binary. + ;; see https://github.com/FFMS/ffms2/blob/master/COPYING + (license license:gpl2+))); inherits from ffmpeg From c812f46058ad7f4baedd521ad4f0933737d82ae9 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 20 Oct 2017 18:46:15 +0200 Subject: [PATCH 075/116] =?UTF-8?q?gnu:=C2=A0Add=20aegisub.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (aegisub): New variable. --- gnu/packages/video.scm | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0605c1467e..43e4fc2eb5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -85,6 +85,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages m4) @@ -2415,3 +2416,59 @@ programmers to access a standard API to open and decompress media files.") ;; sources are distributed under a different license that the binary. ;; see https://github.com/FFMS/ffms2/blob/master/COPYING (license license:gpl2+))); inherits from ffmpeg + +(define-public aegisub + (package + (name "aegisub") + (version "3.2.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.aegisub.org/pub/archives/releases/source/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-update-checker" + "--without-portaudio" + "--without-openal" + "--without-oss") + ;; tests require busted, a lua package we don't have yet + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-ldflags + (lambda _ + (setenv "LDFLAGS" "-pthread")))))) + (inputs + `(("boost" ,boost) + ("desktop-file-utils" ,desktop-file-utils) + ("ffms2" ,ffms2) + ("fftw" ,fftw) + ("hunspell" ,hunspell) + ("mesa" ,mesa) + ("libass" ,libass) + ("alsa-lib" ,alsa-lib) + ("pulseaudio" ,pulseaudio) + ("libx11" ,libx11) + ("freetype" ,freetype) + ("wxwidgets-gtk2" ,wxwidgets-gtk2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "http://www.aegisub.org/") + (synopsis "Subtitle engine") + (description + "Aegisub is a tool for creating and modifying subtitles. Aegisub makes +it quick and easy to time subtitles to audio, and features many powerful +tools for styling them, including a built-in real-time video preview.") + (license (list license:bsd-3 ; the package is licensed under the bsd-3, except + license:mpl1.1 ; for vendor/universalchardet under the mpl1.1 + license:expat)))) ; and src/gl that is under a license similar + ; the the Expat license, with a rewording (Software -> Materials). (called MIT + ; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE + ; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author + From 77aa706ab6695f24abae88f091aa357546eff5d3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 16:16:12 +0200 Subject: [PATCH 076/116] gnu: font-hack: Update to 3.000. * gnu/packages/fonts.scm (font-hack): Update to 3.000. [source]: Download from new account. [license]: Explicitly list all licences. --- gnu/packages/fonts.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index b65d3a9e94..07c1b6f750 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -764,17 +764,15 @@ glyph designs, not just an added slant.") (define-public font-hack (package (name "font-hack") - (version "2.020") + (version "3.000") (source (origin (method url-fetch/zipbomb) (uri (string-append - "https://github.com/chrissimpkins/Hack/releases/download/v" - version "/Hack-v" - (string-replace-substring version "." "_") - "-ttf.zip")) + "https://github.com/source-foundry/Hack/releases/download/v" + version "/Hack-v" version "-ttf.zip")) (sha256 (base32 - "16kkmc3psckw1b7k07ccn1gi5ymhlg9djh43nqjzg065g6p6d184")))) + "0h6slqg25a6cq57k6rh5hmnk8dxbprmf8shs4iyj1pc83sw6b1r3")))) (build-system font-build-system) (home-page "https://sourcefoundry.org/hack/") (synopsis "Typeface designed for source code") @@ -782,9 +780,12 @@ glyph designs, not just an added slant.") "Hack is designed to be a workhorse typeface for code. It expands upon the Bitstream Vera & DejaVu projects, provides 1561 glyphs, and includes Powerline support.") - (license (license:x11-style - "https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md" - "Hack Open Font License v2.0")))) + (license + ;; See https://github.com/source-foundry/Hack/issues/271 for details. + (list license:expat ; the Hack modifications to... + license:public-domain ; ...the DejaVu modifications to... + (license:x11-style ; ...the Bitstream Vera typeface + "file://LICENSE.md" "Bitstream Vera License"))))) (define-public font-adobe-source-code-pro (package From fa9ac83ec4098ba89c8cc3c9671144fe853fbc06 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 17:45:12 +0200 Subject: [PATCH 077/116] gnu: ola: Build with protobuf@2. This follows up commit dd12d4aad02fc83e00e7b09d676aa78bcb7dd476. * gnu/packages/protobuf.scm (protobuf-2): New variable. * gnu/packages/lighting.scm (ola)[propagated-inputs]: Use it. --- gnu/packages/lighting.scm | 5 ++++- gnu/packages/protobuf.scm | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm index 7f01cdbc99..ab7069b53b 100644 --- a/gnu/packages/lighting.scm +++ b/gnu/packages/lighting.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John J. Foerch +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,7 +60,9 @@ ("libuuid" ,util-linux) ("zlib" ,zlib))) (propagated-inputs - `(("protobuf" ,protobuf))) ;; for pkg-config --libs libola + ;; Ola 0.10.5 only supports protobuf 2.x, and building it with 3.x breaks. + ;; XXX Remove protobuf-2 when it is no longer needed. + `(("protobuf" ,protobuf-2))) ;; for pkg-config --libs libola (arguments `(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing ;; build to fail on low memory systems. We disable that with the diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 54955823cc..2e681ca97d 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,19 @@ yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.") (license bsd-3))) +;; XXX Remove this old version when no other packages depend on it. +(define-public protobuf-2 + (package (inherit protobuf) + (version "2.6.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/google/protobuf/releases/" + "download/v" version "/protobuf-" + version ".tar.bz2")) + (sha256 + (base32 + "040rcs9fpv4bslhiy43v7dcrzakz4vwwpyqg4jp8bn24sl95ci7f")))))) + (define-public protobuf-c (package (name "protobuf-c") From 5a740d06b681368acf8727d61059f7d8023e2d01 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 18:50:49 +0200 Subject: [PATCH 078/116] gnu: dovecot: Update to 2.2.33.2. * gnu/packages/mail.scm (dovecot): Update to 2.2.33.2. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 574bb3f4b9..acbb68b51b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1108,7 +1108,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.2.33.1") + (version "2.2.33.2") (source (origin (method url-fetch) @@ -1116,7 +1116,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" name "-" version ".tar.gz")) (sha256 (base32 - "02w932hq8v9889k709gbg94jl983lzwd3nh51vkxq041821a3ng4")))) + "117f9i62liz2pm96zi2lpldzlj2knzj7g410zhifwmlsc1w3n7py")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From a6e70e1169f0ee71d9c7bc04a78cc9e84b198b25 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 19:23:15 +0200 Subject: [PATCH 079/116] gnu: youtube-dl: Update to 2017.10.20. * gnu/packages/video.scm (youtube-dl): Update to 2017.10.20. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 43e4fc2eb5..63824f6c57 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1116,7 +1116,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.10.15.1") + (version "2017.10.20") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1124,7 +1124,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0zr9sx0nxk36si8xbvhlnazb69xzlygrhsxcyiydm0dy5y5ycsns")))) + "0npr8b1xg1dylz717kfllw433h1y16251npzch48lchq69bhm4iy")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From 3890df58005f20a2c61fb83227df160b5d069a91 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 19 Oct 2017 00:19:08 -0400 Subject: [PATCH 080/116] gnu: webkitgtk: Update to 2.18.1. * gnu/packages/webkit.scm (webkitgtk): Update to 2.18.1. --- gnu/packages/webkit.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 7b4b306e8f..59188ac4db 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -54,14 +54,14 @@ (define-public webkitgtk (package (name "webkitgtk") - (version "2.18.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "1383wlv98l8fwmhzy0fad82a44h5svm89c1kpa03wsp37mmf90xm")))) + "15fp7szmkpannx7avsynf0nv3y343qwq0fvq3rz2m2mw5wq7pnww")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests From 48f8b0708234ac5516860639c8650488454a8fab Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 20 Oct 2017 12:56:49 -0400 Subject: [PATCH 081/116] gnu: mysql: Update to 5.7.20. * gnu/packages/databases.scm (mysql): Update to 5.7.20. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8a3b23cee4..30b1661299 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -453,7 +453,7 @@ RDBMS systems (which are deep in functionality).") (define-public mysql (package (name "mysql") - (version "5.7.19") + (version "5.7.20") (source (origin (method url-fetch) (uri (list (string-append @@ -465,7 +465,7 @@ RDBMS systems (which are deep in functionality).") name "-" version ".tar.gz"))) (sha256 (base32 - "1c8y54yk756179nx4dgg79dijmjdq5n8l057cnqsg70pjdpyfl9y")))) + "11v4g3igigv3zvknv67qml8in6fjrbs2vnr3q6bg6f62nydm95sk")))) (build-system cmake-build-system) (arguments `(#:configure-flags From 7827032a7cf7f68922de99b044969f1f823869fd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 20 Oct 2017 13:02:54 -0400 Subject: [PATCH 082/116] gnu: libvirt: Fix CVE-2017-1000256. * gnu/packages/patches/libvirt-CVE-2017-1000256.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/virtualization.scm (libvirt)[source]: Use it. --- gnu/local.mk | 1 + .../patches/libvirt-CVE-2017-1000256.patch | 84 +++++++++++++++++++ gnu/packages/virtualization.scm | 1 + 3 files changed, 86 insertions(+) create mode 100644 gnu/packages/patches/libvirt-CVE-2017-1000256.patch diff --git a/gnu/local.mk b/gnu/local.mk index fd4f1bed97..a4e3426f55 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -815,6 +815,7 @@ dist_patch_DATA = \ %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ %D%/packages/patches/libusb-for-axoloti.patch \ + %D%/packages/patches/libvirt-CVE-2017-1000256.patch \ %D%/packages/patches/libvisio-fix-tests.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ diff --git a/gnu/packages/patches/libvirt-CVE-2017-1000256.patch b/gnu/packages/patches/libvirt-CVE-2017-1000256.patch new file mode 100644 index 0000000000..d577e1eb50 --- /dev/null +++ b/gnu/packages/patches/libvirt-CVE-2017-1000256.patch @@ -0,0 +1,84 @@ +Fix CVE-2017-1000256: + +https://security.libvirt.org/2017/0002.html +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000256 + +Patch copied from upstream source repository: + +https://libvirt.org/git/?p=libvirt.git;a=commit;h=dc6c41798d1eb5c52c75365ffa22f7672709dfa7 + +From dc6c41798d1eb5c52c75365ffa22f7672709dfa7 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Thu, 5 Oct 2017 17:54:28 +0100 +Subject: [PATCH] qemu: ensure TLS clients always verify the server certificate + +The default_tls_x509_verify (and related) parameters in qemu.conf +control whether the QEMU TLS servers request & verify certificates +from clients. This works as a simple access control system for +servers by requiring the CA to issue certs to permitted clients. +This use of client certificates is disabled by default, since it +requires extra work to issue client certificates. + +Unfortunately the code was using this configuration parameter when +setting up both TLS clients and servers in QEMU. The result was that +TLS clients for character devices and disk devices had verification +turned off, meaning they would ignore errors while validating the +server certificate. + +This allows for trivial MITM attacks between client and server, +as any certificate returned by the attacker will be accepted by +the client. + +This is assigned CVE-2017-1000256 / LSN-2017-0002 + +Reviewed-by: Eric Blake +Signed-off-by: Daniel P. Berrange +(cherry picked from commit 441d3eb6d1be940a67ce45a286602a967601b157) +--- + src/qemu/qemu_command.c | 2 +- + .../qemuxml2argv-serial-tcp-tlsx509-chardev.args | 2 +- + ...xml2argv-serial-tcp-tlsx509-secret-chardev.args | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c +index 9a27987..ae78cd1 100644 +--- a/src/qemu/qemu_command.c ++++ b/src/qemu/qemu_command.c +@@ -718,7 +718,7 @@ qemuBuildTLSx509BackendProps(const char *tlspath, + if (virJSONValueObjectCreate(propsret, + "s:dir", path, + "s:endpoint", (isListen ? "server": "client"), +- "b:verify-peer", verifypeer, ++ "b:verify-peer", (isListen ? verifypeer : true), + NULL) < 0) + goto cleanup; + +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args +index 5aff773..ab5f7e2 100644 +--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args ++++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args +@@ -26,7 +26,7 @@ server,nowait \ + localport=1111 \ + -device isa-serial,chardev=charserial0,id=serial0 \ + -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\ +-endpoint=client,verify-peer=no \ ++endpoint=client,verify-peer=yes \ + -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\ + tls-creds=objcharserial1_tls0 \ + -device isa-serial,chardev=charserial1,id=serial1 \ +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args +index 91f1fe0..2567abb 100644 +--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args ++++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args +@@ -31,7 +31,7 @@ localport=1111 \ + data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ + keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ + -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\ +-endpoint=client,verify-peer=no,passwordid=charserial1-secret0 \ ++endpoint=client,verify-peer=yes,passwordid=charserial1-secret0 \ + -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\ + tls-creds=objcharserial1_tls0 \ + -device isa-serial,chardev=charserial1,id=serial1 \ +-- +1.7.1 + diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c4461c3da2..8fce545dbe 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -322,6 +322,7 @@ manage system or application containers.") (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) + (patches (search-patches "libvirt-CVE-2017-1000256.patch")) (sha256 (base32 "1fk75cdzg59y9hnfdpdwv83fsc1yffy3lac4ch19zygfkqhcnysf")))) From fd75eb6cd4e5c689f9e6ce7dd8d87f423778d308 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 15 Oct 2017 22:17:12 -0400 Subject: [PATCH 083/116] gnu: Fix the hashes of mutated GitHub archives. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * gnu/packages/audio.scm (csound): Fix hash. * gnu/packages/engineering.scm (fritzing): Likewise. * gnu/packages/erlang.scm (erlang): Likewise. * gnu/packages/fonts.scm (font-google-material-design-icons): Likewise. * gnu/packages/graphics.scm (ogre): Likewise. * gnu/packages/java.scm (java-plexus-interpolation, antlr3): Likewise. * gnu/packages/serialization.scm (yaml-cpp): Likewise. * gnu/packages/version-control.scm (libgit2): Likewise. Signed-off-by: Ludovic Courtès --- gnu/packages/audio.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/erlang.scm | 2 +- gnu/packages/fonts.scm | 2 +- gnu/packages/graphics.scm | 2 +- gnu/packages/java.scm | 4 ++-- gnu/packages/serialization.scm | 2 +- gnu/packages/version-control.scm | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e0aa1705e2..3147fdfbb9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -580,7 +580,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0f67vyy3r29hn26qkkcwnizrnzzy8p7gmg3say5q3wjhxns3b5yl")))) + "0xqpqws4jsv7fyawcjzwaw544qbfh29xq164kdf30a9v1n3yklp4")))) (build-system cmake-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 9f9949ef84..c9e184d7d5 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -429,7 +429,7 @@ multipole-accelerated algorithm.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pvk57z2pxz89pcwwm61lkpvj4w9qxqz8mi0zkpj6pnaljabp7bf")))) + "15rwjp4xdj9w1z9f709rz9p0k2mi9k9idma9hvzkj5j8p04mg7yd")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index cf4d7a5955..1a575a0fd0 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -46,7 +46,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1azjjyb743i6vjq7rnh5qnslsqg0x60a9zrlhg9n3dpm13z1b22l")) + "11xp6vv1v7iay9dg1xc6xm7izfsanbn5pgwp96ba0j1fmlkhjw92")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 07c1b6f750..4acebeb405 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1027,7 +1027,7 @@ monospace, slab-serif fonts.") version ".tar.gz")) (sha256 (base32 - "183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga")) + "018i3za9r6kf6svci33z09lc5pr5yz4164m8gzzwjzzqcrng0p5j")) (file-name (string-append name "-" version ".tar.gz")))) (build-system font-build-system) (home-page "http://google.github.io/material-design-icons") diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 8e3c5563f6..3ffb4dd25c 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -244,7 +244,7 @@ exception-handling library.") "/archive/v" version ".tar.gz")) (sha256 (base32 - "1ab354bmwwryxr4zgxchfkm6h4z38mjgif8yn89x640rsrgw5ipj")) + "1p0c91cc7zg3c00wjaibnxb0a0xm14mkg0h65pzpw93m0d6nc8wd")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 95fba20e88..45cb16f1f6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2299,7 +2299,7 @@ more.") "plexus-interpolation-" version ".tar.gz")) (sha256 (base32 - "1w79ljwk42ymrgy8kqxq4l82pgdj6287gabpfnpkyzbrnclsnfrp")))) + "03377yzlx5q440m6sxxgv6a5qb8fl30zzcgxgc0hxk5qgl2z1jjn")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-interpolation.jar" @@ -4429,7 +4429,7 @@ StringTemplate also powers ANTLR.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07zff5frmjd53rnqdx31h0pmswz1lv0p2lp28cspfszh25ysz6sj")))) + "0218v683081lg54z9hvjxinhxd4dqp870jx6n39gslm0bkyi4vd6")))) (build-system ant-build-system) (arguments `(#:jar-name (string-append ,name "-" ,version ".jar") diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 7d25e0d919..03365ad3fa 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -248,7 +248,7 @@ that implements both the msgpack and msgpack-rpc specifications.") "yaml-cpp-" version ".tar.gz")) (sha256 (base32 - "1vk6pjh0f5k6jwk2sszb9z5169whmiha9ainbdpa1arxlkq7v3b6")))) + "1ck7jk0wjfigrf4cgcjqsir4yp1s6vamhhxhpsgfvs46pgm5pk6y")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 7c9b049849..8038024b38 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -363,7 +363,7 @@ everything from small to very large projects with speed and efficiency.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fdk9yhwvl1w1z71ykzcvgh4nsf8scxcbclz5anh98zpplmhmisa")) + "1b3figbhp5l83vd37vq6j2narrq4yl9pfw6mw0px0dzb1hz3jqka")) (patches (search-patches "libgit2-0.25.1-mtime-0.patch")))) (build-system cmake-build-system) (outputs '("out" "debug")) From 82bdcfe82141b7696f487a9ff721a834d5ce2347 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Oct 2017 09:44:28 -0400 Subject: [PATCH 084/116] gnu: schismtracker: Update to 20170910. * gnu/packages/music.scm (schismtracker): Update to 20170910. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 69d69a6185..02be44a752 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2300,7 +2300,7 @@ for improved Amiga ProTracker 2/3 compatibility.") (define-public schismtracker (package (name "schismtracker") - (version "20170420") + (version "20170910") (source (origin (method url-fetch) (uri (string-append @@ -2309,7 +2309,7 @@ for improved Amiga ProTracker 2/3 compatibility.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k06vri29ayaq7mzsik3yywh6zdar2nfpkav2sp6g2rjl6k6vi5z")) + "01gfcjngbpv87y9w5jln8k313hycpkb1d617hdy2cdw2hxqzlclz")) (modules '((guix build utils))) (snippet ;; Remove use of __DATE__ and __TIME__ for reproducibility. From 5713bbf157a8e82fbb194519ce3d611de8db075d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 20 Oct 2017 02:39:56 +0200 Subject: [PATCH 085/116] Use HTTPS for bioconductor.org. * doc/guix.texi (Invoking guix import, Invoking guix refresh): Use HTTPS for bioconductor.org URLs. * gnu/packages/bioinformatics.scm (r-annotate, r-geneplotter, r-genefilter) (r-deseq2, r-dexseq, r-annotationforge, r-rbgl, r-gseabase, r-category) (r-gostats, r-shortread, r-biocgenerics, r-biocinstaller, r-biocviews) (r-biocstyle, r-bioccheck, r-s4vectors, r-iranges, r-genomeinfodbdata) (r-genomeinfodb, r-xvector, r-genomicranges, r-biobase, r-annotationdbi) (r-biomart, r-biocparallel, r-biostrings, r-rsamtools, r-delayedarray) (r-summarizedexperiment, r-genomicalignments, r-rtracklayer) (r-genomicfeatures, r-graph, r-topgo, r-bsgenome, r-impute, r-seqpattern) (r-seqlogo, r-motifrg, r-bamsignals, r-mutationalpatterns, r-tximport) (r-rhdf5, r-chipseq, r-sva, r-affy, r-vsn, r-mzid, r-msnid) (r-interactivedisplaybase, r-annotationhub)[home-page]: Likewise. * gnu/packages/bioinformatics.scm (r-txdb-hsapiens-ucsc-hg19-knowngene) (r-go-db, r-bsgenome-hsapiens-1000genomes-hs37d5, r-org-hs-eg-db) (r-org-ce-eg-db, r-org-dm-eg-db, r-org-mm-eg-db) (r-bsgenome-hsapiens-ucsc-hg19, r-bsgenome-mmusculus-ucsc-mm9) (r-bsgenome-mmusculus-ucsc-mm10, r-txdb-mmusculus-ucsc-mm10-knowngene) (r-bsgenome-celegans-ucsc-ce6, r-bsgenome-celegans-ucsc-ce10) (r-bsgenome-dmelanogaster-ucsc-dm3, r-copyhelper)[source, home-page]: Likewise. * gnu/packages/statistics.scm (r-rcurl)[source]: Likewise. * guix/build-system/r.scm (bioconductor-uri): Likewise. * guix/import/cran.scm (%cran-url, bioconductor-package?) (bioconductor-data-package?, bioconductor-experiment-package?): Likewise. --- doc/guix.texi | 4 +- gnu/packages/bioinformatics.scm | 164 ++++++++++++++++---------------- gnu/packages/statistics.scm | 2 +- guix/build-system/r.scm | 2 +- guix/import/cran.scm | 8 +- 5 files changed, 90 insertions(+), 90 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b7f4f88f92..753d3c4827 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5881,7 +5881,7 @@ dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix. When @code{--archive=bioconductor} is added, metadata is imported from -@uref{http://www.bioconductor.org/, Bioconductor}, a repository of R +@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R packages for for the analysis and comprehension of high-throughput genomic data in bioinformatics. @@ -6236,7 +6236,7 @@ the updater for @uref{http://elpa.gnu.org/, ELPA} packages; @item cran the updater for @uref{http://cran.r-project.org/, CRAN} packages; @item bioconductor -the updater for @uref{http://www.bioconductor.org/, Bioconductor} R packages; +the updater for @uref{https://www.bioconductor.org/, Bioconductor} R packages; @item cpan the updater for @uref{http://www.cpan.org/, CPAN} packages; @item pypi diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d15f6fd559..bb8a0f8d40 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5747,7 +5747,7 @@ data types as well.") ("r-xml" ,r-xml) ("r-xtable" ,r-xtable))) (home-page - "http://bioconductor.org/packages/annotate") + "https://bioconductor.org/packages/annotate") (synopsis "Annotation for microarrays") (description "This package provides R environments for the annotation of microarrays.") @@ -5772,7 +5772,7 @@ microarrays.") ("r-biocgenerics" ,r-biocgenerics) ("r-lattice" ,r-lattice) ("r-rcolorbrewer" ,r-rcolorbrewer))) - (home-page "http://bioconductor.org/packages/geneplotter") + (home-page "https://bioconductor.org/packages/geneplotter") (synopsis "Graphics functions for genomic data") (description "This package provides functions for plotting genomic data.") @@ -5798,7 +5798,7 @@ microarrays.") ("r-biobase" ,r-biobase) ("r-s4vectors" ,r-s4vectors) ("r-survival" ,r-survival))) - (home-page "http://bioconductor.org/packages/genefilter") + (home-page "https://bioconductor.org/packages/genefilter") (synopsis "Filter genes from high-throughput experiments") (description "This package provides basic functions for filtering genes from @@ -5833,7 +5833,7 @@ high-throughput sequencing experiments.") ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) - (home-page "http://bioconductor.org/packages/DESeq2") + (home-page "https://bioconductor.org/packages/DESeq2") (synopsis "Differential gene expression analysis") (description "This package provides functions to estimate variance-mean dependence in @@ -5873,7 +5873,7 @@ distribution.") ("r-statmod" ,r-statmod) ("r-stringr" ,r-stringr) ("r-summarizedexperiment" ,r-summarizedexperiment))) - (home-page "http://bioconductor.org/packages/DEXSeq") + (home-page "https://bioconductor.org/packages/DEXSeq") (synopsis "Inference of differential exon usage in RNA-Seq") (description "This package is focused on finding differential exon usage using RNA-seq @@ -5908,7 +5908,7 @@ exploration of the results.") ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml))) - (home-page "http://bioconductor.org/packages/AnnotationForge") + (home-page "https://bioconductor.org/packages/AnnotationForge") (synopsis "Code for building annotation database packages") (description "This package provides code for generating Annotation packages and their @@ -5929,7 +5929,7 @@ databases. Packages produced are intended to be used with AnnotationDbi.") (properties `((upstream-name . "RBGL"))) (build-system r-build-system) (propagated-inputs `(("r-graph" ,r-graph))) - (home-page "http://www.bioconductor.org/packages/RBGL") + (home-page "https://www.bioconductor.org/packages/RBGL") (synopsis "Interface to the Boost graph library") (description "This package provides a fairly extensive and comprehensive interface to @@ -5956,7 +5956,7 @@ the graph algorithms contained in the Boost library.") ("r-biocgenerics" ,r-biocgenerics) ("r-graph" ,r-graph) ("r-xml" ,r-xml))) - (home-page "http://bioconductor.org/packages/GSEABase") + (home-page "https://bioconductor.org/packages/GSEABase") (synopsis "Gene set enrichment data structures and methods") (description "This package provides classes and methods to support @dfn{Gene Set @@ -5987,7 +5987,7 @@ Enrichment Analysis} (GSEA).") ("r-matrix" ,r-matrix) ("r-rbgl" ,r-rbgl) ("r-rsqlite" ,r-rsqlite))) - (home-page "http://bioconductor.org/packages/Category") + (home-page "https://bioconductor.org/packages/Category") (synopsis "Category analysis") (description "This package provides a collection of tools for performing category @@ -6016,7 +6016,7 @@ analysis.") ("r-go-db" ,r-go-db) ("r-graph" ,r-graph) ("r-rbgl" ,r-rbgl))) - (home-page "http://bioconductor.org/packages/GOstats") + (home-page "https://bioconductor.org/packages/GOstats") (synopsis "Tools for manipulating GO and microarrays") (description "This package provides a set of tools for interacting with GO and @@ -6055,7 +6055,7 @@ testing and other simple calculations.") ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector) ("r-zlibbioc" ,r-zlibbioc))) - (home-page "http://bioconductor.org/packages/ShortRead") + (home-page "https://bioconductor.org/packages/ShortRead") (synopsis "FASTQ input and manipulation tools") (description "This package implements sampling, iteration, and input of FASTQ files. @@ -6147,7 +6147,7 @@ annotation infrastructure.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://bioconductor.org/packages/" + (uri (string-append "https://bioconductor.org/packages/" "release/data/annotation/src/contrib" "/TxDb.Hsapiens.UCSC.hg19.knownGene_" version ".tar.gz")) @@ -6163,7 +6163,7 @@ annotation infrastructure.") (propagated-inputs `(("r-genomicfeatures" ,r-genomicfeatures))) (home-page - "http://bioconductor.org/packages/TxDb.Hsapiens.UCSC.hg19.knownGene/") + "https://bioconductor.org/packages/TxDb.Hsapiens.UCSC.hg19.knownGene/") (synopsis "Annotation package for human genome in TxDb format") (description "This package provides an annotation database of Homo sapiens genome @@ -6444,7 +6444,7 @@ barplots or heatmaps.") (properties `((upstream-name . "BiocGenerics"))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/BiocGenerics") + (home-page "https://bioconductor.org/packages/BiocGenerics") (synopsis "S4 generic functions for Bioconductor") (description "This package provides S4 generic functions needed by many Bioconductor @@ -6464,7 +6464,7 @@ packages.") (properties `((upstream-name . "BiocInstaller"))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/BiocInstaller") + (home-page "https://bioconductor.org/packages/BiocInstaller") (synopsis "Install Bioconductor packages") (description "This package is used to install and update R packages from Bioconductor, CRAN, and Github.") @@ -6491,7 +6491,7 @@ Bioconductor, CRAN, and Github.") ("r-xml" ,r-xml) ("r-knitr" ,r-knitr) ("r-runit" ,r-runit))) - (home-page "http://bioconductor.org/packages/biocViews") + (home-page "https://bioconductor.org/packages/biocViews") (synopsis "Bioconductor package categorization helper") (description "The purpose of biocViews is to create HTML pages that categorize packages in a Bioconductor package repository according to keywords, @@ -6538,7 +6538,7 @@ authoring books and technical documents with R Markdown.") ("r-knitr" ,r-knitr) ("r-rmarkdown" ,r-rmarkdown) ("r-yaml" ,r-yaml))) - (home-page "http://bioconductor.org/packages/BiocStyle") + (home-page "https://bioconductor.org/packages/BiocStyle") (synopsis "Bioconductor formatting styles") (description "This package provides standard formatting styles for Bioconductor PDF and HTML documents. Package vignettes illustrate use and @@ -6586,7 +6586,7 @@ functionality.") ("r-optparse" ,r-optparse) ("r-biocinstaller" ,r-biocinstaller) ("r-biocviews" ,r-biocviews))) - (home-page "http://bioconductor.org/packages/BiocCheck") + (home-page "https://bioconductor.org/packages/BiocCheck") (synopsis "Executes Bioconductor-specific package checks") (description "This package contains tools to perform additional quality checks on R packages that are to be submitted to the Bioconductor repository.") @@ -6674,7 +6674,7 @@ abnormal copy number.") (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "http://bioconductor.org/packages/S4Vectors") + (home-page "https://bioconductor.org/packages/S4Vectors") (synopsis "S4 implementation of vectors and lists") (description "The S4Vectors package defines the @code{Vector} and @code{List} virtual @@ -6727,7 +6727,7 @@ utilities for sequence data management under the ACNUC system.") (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) ("r-s4vectors" ,r-s4vectors))) - (home-page "http://bioconductor.org/packages/IRanges") + (home-page "https://bioconductor.org/packages/IRanges") (synopsis "Infrastructure for manipulating intervals on sequences") (description "This package provides efficient low-level and highly reusable S4 classes @@ -6757,7 +6757,7 @@ possible.") (properties `((upstream-name . "GenomeInfoDbData"))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/GenomeInfoDbData") + (home-page "https://bioconductor.org/packages/GenomeInfoDbData") (synopsis "Species and taxonomy ID look up tables for GenomeInfoDb") (description "This package contains data for mapping between NCBI taxonomy ID and species. It is used by functions in the GenomeInfoDb package.") @@ -6782,7 +6782,7 @@ ID and species. It is used by functions in the GenomeInfoDb package.") ("r-iranges" ,r-iranges) ("r-rcurl" ,r-rcurl) ("r-s4vectors" ,r-s4vectors))) - (home-page "http://bioconductor.org/packages/GenomeInfoDb") + (home-page "https://bioconductor.org/packages/GenomeInfoDb") (synopsis "Utilities for manipulating chromosome identifiers") (description "This package contains data and functions that define and allow @@ -6904,7 +6904,7 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") `(("r-biocgenerics" ,r-biocgenerics) ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors))) - (home-page "http://bioconductor.org/packages/XVector") + (home-page "https://bioconductor.org/packages/XVector") (synopsis "Representation and manpulation of external sequences") (description "This package provides memory efficient S4 classes for storing sequences @@ -6930,7 +6930,7 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/GenomicRanges") + (home-page "https://bioconductor.org/packages/GenomicRanges") (synopsis "Representation and manipulation of genomic intervals") (description "This package provides tools to efficiently represent and manipulate @@ -6955,7 +6955,7 @@ manipulating genomic intervals and variables defined along a genome.") (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "http://bioconductor.org/packages/Biobase") + (home-page "https://bioconductor.org/packages/Biobase") (synopsis "Base functions for Bioconductor") (description "This package provides functions that are needed by many other packages @@ -6982,7 +6982,7 @@ on Bioconductor or which replace R functions.") ("r-iranges" ,r-iranges) ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors))) - (home-page "http://bioconductor.org/packages/AnnotationDbi") + (home-page "https://bioconductor.org/packages/AnnotationDbi") (synopsis "Annotation database interface") (description "This package provides user interface and database connection code for @@ -7006,7 +7006,7 @@ annotation data packages using SQLite data storage.") `(("r-annotationdbi" ,r-annotationdbi) ("r-rcurl" ,r-rcurl) ("r-xml" ,r-xml))) - (home-page "http://bioconductor.org/packages/biomaRt") + (home-page "https://bioconductor.org/packages/biomaRt") (synopsis "Interface to BioMart databases") (description "biomaRt provides an interface to a growing collection of databases @@ -7035,7 +7035,7 @@ powerful online queries from gene annotation to database mining.") (propagated-inputs `(("r-futile-logger" ,r-futile-logger) ("r-snow" ,r-snow))) - (home-page "http://bioconductor.org/packages/BiocParallel") + (home-page "https://bioconductor.org/packages/BiocParallel") (synopsis "Bioconductor facilities for parallel evaluation") (description "This package provides modified versions and novel implementation of @@ -7061,7 +7061,7 @@ objects.") ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/Biostrings") + (home-page "https://bioconductor.org/packages/Biostrings") (synopsis "String objects and algorithms for biological sequences") (description "This package provides memory efficient string containers, string @@ -7104,7 +7104,7 @@ biological sequences or sets of sequences.") ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/release/bioc/html/Rsamtools.html") + (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") (synopsis "Interface to samtools, bcftools, and tabix") (description "This package provides an interface to the 'samtools', 'bcftools', and @@ -7131,7 +7131,7 @@ files.") ("r-s4vectors" ,r-s4vectors) ("r-iranges" ,r-iranges) ("r-matrixstats" ,r-matrixstats))) - (home-page "http://bioconductor.org/packages/DelayedArray") + (home-page "https://bioconductor.org/packages/DelayedArray") (synopsis "Delayed operations on array-like objects") (description "Wrapping an array-like object (typically an on-disk object) in a @@ -7165,7 +7165,7 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns), ("r-iranges" ,r-iranges) ("r-matrix" ,r-matrix) ("r-s4vectors" ,r-s4vectors))) - (home-page "http://bioconductor.org/packages/SummarizedExperiment") + (home-page "https://bioconductor.org/packages/SummarizedExperiment") (synopsis "Container for representing genomic ranges by sample") (description "The SummarizedExperiment container contains one or more assays, each @@ -7197,7 +7197,7 @@ samples.") ("r-rsamtools" ,r-rsamtools) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) - (home-page "http://bioconductor.org/packages/GenomicAlignments") + (home-page "https://bioconductor.org/packages/GenomicAlignments") (synopsis "Representation and manipulation of short genomic alignments") (description "This package provides efficient containers for storing and manipulating @@ -7242,7 +7242,7 @@ alignments.") ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/rtracklayer") + (home-page "https://bioconductor.org/packages/rtracklayer") (synopsis "R interface to genome browsers and their annotation tracks") (description "rtracklayer is an extensible framework for interacting with multiple @@ -7280,7 +7280,7 @@ as well as query and modify the browser state, such as the current viewport.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/GenomicFeatures") + (home-page "https://bioconductor.org/packages/GenomicFeatures") (synopsis "Tools for working with transcript centric annotations") (description "This package provides a set of tools and methods for making and @@ -7299,7 +7299,7 @@ extracting the desired features in a convenient format.") (version "3.4.0") (source (origin (method url-fetch) - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/GO.db_" version ".tar.gz")) (sha256 @@ -7310,7 +7310,7 @@ extracting the desired features in a convenient format.") (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi))) - (home-page "http://bioconductor.org/packages/GO.db") + (home-page "https://bioconductor.org/packages/GO.db") (synopsis "Annotation maps describing the entire Gene Ontology") (description "The purpose of this GO.db annotation package is to provide detailed @@ -7330,7 +7330,7 @@ information about the latest version of the Gene Ontologies.") (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "http://bioconductor.org/packages/graph") + (home-page "https://bioconductor.org/packages/graph") (synopsis "Handle graph data structures in R") (description "This package implements some simple graph handling capabilities for R.") @@ -7359,7 +7359,7 @@ information about the latest version of the Gene Ontologies.") ("r-lattice" ,r-lattice) ("r-matrixstats" ,r-matrixstats) ("r-sparsem" ,r-sparsem))) - (home-page "http://bioconductor.org/packages/topGO") + (home-page "https://bioconductor.org/packages/topGO") (synopsis "Enrichment analysis for gene ontology") (description "The topGO package provides tools for testing @dfn{gene ontology} (GO) @@ -7392,7 +7392,7 @@ dependencies between GO terms can be implemented and applied.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/BSgenome") + (home-page "https://bioconductor.org/packages/BSgenome") (synopsis "Infrastructure for Biostrings-based genome data packages") (description "This package provides infrastructure shared by all Biostrings-based @@ -7407,7 +7407,7 @@ genome data packages and support for efficient SNP representation.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Hsapiens.1000genomes.hs37d5_" version ".tar.gz")) @@ -7423,7 +7423,7 @@ genome data packages and support for efficient SNP representation.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Hsapiens.1000genomes.hs37d5/") + "https://www.bioconductor.org/packages/BSgenome.Hsapiens.1000genomes.hs37d5/") (synopsis "Full genome sequences for Homo sapiens") (description "This package provides full genome sequences for Homo sapiens from @@ -7443,7 +7443,7 @@ genome data packages and support for efficient SNP representation.") (inputs `(("gfortran" ,gfortran))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/impute") + (home-page "https://bioconductor.org/packages/impute") (synopsis "Imputation for microarray data") (description "This package provides a function to impute missing gene expression @@ -7469,7 +7469,7 @@ microarray data, using nearest neighbor averaging.") ("r-iranges" ,r-iranges) ("r-kernsmooth" ,r-kernsmooth) ("r-plotrix" ,r-plotrix))) - (home-page "http://bioconductor.org/packages/seqPattern") + (home-page "https://bioconductor.org/packages/seqPattern") (synopsis "Visualising oligonucleotide patterns and motif occurrences") (description "This package provides tools to visualize oligonucleotide patterns and @@ -7562,7 +7562,7 @@ downloaded from Encode.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "org.Hs.eg.db_" version ".tar.gz")) (sha256 @@ -7573,7 +7573,7 @@ downloaded from Encode.") (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi))) - (home-page "http://www.bioconductor.org/packages/org.Hs.eg.db/") + (home-page "https://www.bioconductor.org/packages/org.Hs.eg.db/") (synopsis "Genome wide annotation for Human") (description "This package provides mappings from Entrez gene identifiers to various @@ -7588,7 +7588,7 @@ annotations for the human genome.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "org.Ce.eg.db_" version ".tar.gz")) (sha256 @@ -7599,7 +7599,7 @@ annotations for the human genome.") (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi))) - (home-page "http://www.bioconductor.org/packages/org.Ce.eg.db/") + (home-page "https://www.bioconductor.org/packages/org.Ce.eg.db/") (synopsis "Genome wide annotation for Worm") (description "This package provides mappings from Entrez gene identifiers to various @@ -7614,7 +7614,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "org.Dm.eg.db_" version ".tar.gz")) (sha256 @@ -7625,7 +7625,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.") (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi))) - (home-page "http://www.bioconductor.org/packages/org.Dm.eg.db/") + (home-page "https://www.bioconductor.org/packages/org.Dm.eg.db/") (synopsis "Genome wide annotation for Fly") (description "This package provides mappings from Entrez gene identifiers to various @@ -7640,7 +7640,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "org.Mm.eg.db_" version ".tar.gz")) (sha256 @@ -7651,7 +7651,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.") (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi))) - (home-page "http://www.bioconductor.org/packages/org.Mm.eg.db/") + (home-page "https://www.bioconductor.org/packages/org.Mm.eg.db/") (synopsis "Genome wide annotation for Mouse") (description "This package provides mappings from Entrez gene identifiers to various @@ -7671,7 +7671,7 @@ annotations for the genome of the model mouse Mus musculus.") "19d5zmy7m8svljwgbmrb4vxkq18slq0f3all6k2ayv42b8w44h6q")))) (properties `((upstream-name . "seqLogo"))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/seqLogo") + (home-page "https://bioconductor.org/packages/seqLogo") (synopsis "Sequence logos for DNA sequence alignments") (description "seqLogo takes the position weight matrix of a DNA sequence motif and @@ -7687,7 +7687,7 @@ Stephens (1990).") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Hsapiens.UCSC.hg19_" version ".tar.gz")) @@ -7703,7 +7703,7 @@ Stephens (1990).") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg19/") + "https://www.bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg19/") (synopsis "Full genome sequences for Homo sapiens") (description "This package provides full genome sequences for Homo sapiens as provided @@ -7718,7 +7718,7 @@ by UCSC (hg19, February 2009) and stored in Biostrings objects.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Mmusculus.UCSC.mm9_" version ".tar.gz")) @@ -7734,7 +7734,7 @@ by UCSC (hg19, February 2009) and stored in Biostrings objects.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm9/") + "https://www.bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm9/") (synopsis "Full genome sequences for Mouse") (description "This package provides full genome sequences for Mus musculus (Mouse) as @@ -7749,7 +7749,7 @@ provided by UCSC (mm9, July 2007) and stored in Biostrings objects.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Mmusculus.UCSC.mm10_" version ".tar.gz")) @@ -7765,7 +7765,7 @@ provided by UCSC (mm9, July 2007) and stored in Biostrings objects.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm10/") + "https://www.bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm10/") (synopsis "Full genome sequences for Mouse") (description "This package provides full genome sequences for Mus @@ -7781,7 +7781,7 @@ in Biostrings objects.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "TxDb.Mmusculus.UCSC.mm10.knownGene_" version ".tar.gz")) @@ -7799,7 +7799,7 @@ in Biostrings objects.") ("r-genomicfeatures" ,r-genomicfeatures) ("r-annotationdbi" ,r-annotationdbi))) (home-page - "http://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm10.knownGene/") + "https://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm10.knownGene/") (synopsis "Annotation package for TxDb knownGene object(s) for Mouse") (description "This package loads a TxDb object, which is an R interface to @@ -7816,7 +7816,7 @@ based on the knownGene track.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Celegans.UCSC.ce6_" version ".tar.gz")) @@ -7832,7 +7832,7 @@ based on the knownGene track.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Celegans.UCSC.ce6/") + "https://www.bioconductor.org/packages/BSgenome.Celegans.UCSC.ce6/") (synopsis "Full genome sequences for Worm") (description "This package provides full genome sequences for Caenorhabditis @@ -7848,7 +7848,7 @@ objects.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Celegans.UCSC.ce10_" version ".tar.gz")) @@ -7864,7 +7864,7 @@ objects.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Celegans.UCSC.ce10/") + "https://www.bioconductor.org/packages/BSgenome.Celegans.UCSC.ce10/") (synopsis "Full genome sequences for Worm") (description "This package provides full genome sequences for Caenorhabditis @@ -7880,7 +7880,7 @@ objects.") (method url-fetch) ;; We cannot use bioconductor-uri here because this tarball is ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/data/annotation/src/contrib/" "BSgenome.Dmelanogaster.UCSC.dm3_" version ".tar.gz")) @@ -7896,7 +7896,7 @@ objects.") (propagated-inputs `(("r-bsgenome" ,r-bsgenome))) (home-page - "http://www.bioconductor.org/packages/BSgenome.Dmelanogaster.UCSC.dm3/") + "https://www.bioconductor.org/packages/BSgenome.Dmelanogaster.UCSC.dm3/") (synopsis "Full genome sequences for Fly") (description "This package provides full genome sequences for Drosophila @@ -7924,7 +7924,7 @@ Biostrings objects.") ("r-iranges" ,r-iranges) ("r-seqlogo" ,r-seqlogo) ("r-xvector" ,r-xvector))) - (home-page "http://bioconductor.org/packages/motifRG") + (home-page "https://bioconductor.org/packages/motifRG") (synopsis "Discover motifs in high throughput sequencing data") (description "This package provides tools for discriminative motif discovery in high @@ -8046,7 +8046,7 @@ of other R packages who wish to make use of HTSlib.") ("r-zlibbioc" ,r-zlibbioc))) (inputs `(("zlib" ,zlib))) - (home-page "http://bioconductor.org/packages/bamsignals") + (home-page "https://bioconductor.org/packages/bamsignals") (synopsis "Extract read count signals from bam files") (description "This package allows to efficiently obtain count vectors from indexed bam @@ -8175,7 +8175,7 @@ library implementing most of the pipeline's features.") ("r-reshape2" ,r-reshape2) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-variantannotation" ,r-variantannotation))) - (home-page "http://bioconductor.org/packages/MutationalPatterns/") + (home-page "https://bioconductor.org/packages/MutationalPatterns/") (synopsis "Extract and visualize mutational patterns in genomic data") (description "This package provides an extensive toolset for the characterization and visualization of a wide range of mutational patterns @@ -8331,7 +8331,7 @@ kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.") (base32 "1mklb02bj4gnbjlmb7vv6k4lr3w9fp3pzli9rddbrwd0y5n8fcpx")))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/tximport") + (home-page "https://bioconductor.org/packages/tximport") (synopsis "Import and summarize transcript-level estimates for gene-level analysis") (description "This package provides tools to import transcript-level abundance, @@ -8373,7 +8373,7 @@ of gene-level counts.") (inputs `(("perl" ,perl) ("zlib" ,zlib))) - (home-page "http://bioconductor.org/packages/rhdf5") + (home-page "https://bioconductor.org/packages/rhdf5") (synopsis "HDF5 interface to R") (description "This R/Bioconductor package provides an interface between HDF5 and R. @@ -8692,7 +8692,7 @@ common bioinformatics tools.") ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-shortread" ,r-shortread))) - (home-page "http://bioconductor.org/packages/chipseq") + (home-page "https://bioconductor.org/packages/chipseq") (synopsis "Package for analyzing ChIPseq data") (description "This package provides tools for processing short read data from ChIPseq @@ -8706,7 +8706,7 @@ experiments.") (source (origin (method url-fetch) - (uri (string-append "http://bioconductor.org/packages/release/" + (uri (string-append "https://bioconductor.org/packages/release/" "data/experiment/src/contrib/CopyhelpeR_" version ".tar.gz")) (sha256 @@ -8714,7 +8714,7 @@ experiments.") "0x7cyynjmxls9as2gg0iyp9x5fpalxmdjq914ss7i84i9zyk5bhq")))) (properties `((upstream-name . "CopyhelpeR"))) (build-system r-build-system) - (home-page "http://bioconductor.org/packages/CopyhelpeR/") + (home-page "https://bioconductor.org/packages/CopyhelpeR/") (synopsis "Helper files for CopywriteR") (description "This package contains the helper files that are required to run the @@ -8829,7 +8829,7 @@ TAB-Seq.") ("r-biocparallel" ,r-biocparallel) ("r-matrixstats" ,r-matrixstats) ("r-limma" ,r-limma))) - (home-page "http://bioconductor.org/packages/sva") + (home-page "https://bioconductor.org/packages/sva") (synopsis "Surrogate variable analysis") (description "This package contains functions for removing batch effects and other @@ -9017,7 +9017,7 @@ CDF file formats.") ("r-biocinstaller" ,r-biocinstaller) ("r-preprocesscore" ,r-preprocesscore) ("r-zlibbioc" ,r-zlibbioc))) - (home-page "http://bioconductor.org/packages/affy") + (home-page "https://bioconductor.org/packages/affy") (synopsis "Methods for affymetrix oligonucleotide arrays") (description "This package contains functions for exploratory oligonucleotide array @@ -9043,7 +9043,7 @@ analysis.") ("r-hexbin" ,r-hexbin) ("r-lattice" ,r-lattice) ("r-limma" ,r-limma))) - (home-page "http://bioconductor.org/packages/release/bioc/html/vsn.html") + (home-page "https://bioconductor.org/packages/release/bioc/html/vsn.html") (synopsis "Variance stabilization and calibration for microarray data") (description "The package implements a method for normalising microarray intensities, @@ -9080,7 +9080,7 @@ and specific in detecting differential transcription.") ("r-protgenerics" ,r-protgenerics) ("r-rcpp" ,r-rcpp) ("r-xml" ,r-xml))) - (home-page "http://bioconductor.org/packages/mzID") + (home-page "https://bioconductor.org/packages/mzID") (synopsis "Parser for mzIdentML files") (description "This package provides a parser for mzIdentML files implemented using the @@ -9187,7 +9187,7 @@ of mass spectrometry based proteomics data.") ("r-r-cache" ,r-r-cache) ("r-rcpp" ,r-rcpp) ("r-reshape2" ,r-reshape2))) - (home-page "http://bioconductor.org/packages/MSnID") + (home-page "https://bioconductor.org/packages/MSnID") (synopsis "Utilities for LC-MSn proteomics identifications") (description "This package extracts @dfn{tandem mass spectrometry} (MS/MS) ID data @@ -9391,7 +9391,7 @@ global-scaling and full-quantile normalization.") (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) ("r-shiny" ,r-shiny))) - (home-page "http://bioconductor.org/packages/interactiveDisplayBase") + (home-page "https://bioconductor.org/packages/interactiveDisplayBase") (synopsis "Base package for web displays of Bioconductor objects") (description "This package contains the basic methods needed to generate interactive @@ -9420,7 +9420,7 @@ Shiny-based display methods for Bioconductor objects.") ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-yaml" ,r-yaml))) - (home-page "http://bioconductor.org/packages/AnnotationHub") + (home-page "https://bioconductor.org/packages/AnnotationHub") (synopsis "Client to access AnnotationHub resources") (description "This package provides a client for the Bioconductor AnnotationHub web diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7838145513..b3ebd5abbd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2718,7 +2718,7 @@ engine (version 3.8.8.2) is included.") (version "1.95-0.1.2") (source (origin (method url-fetch) - (uri (string-append "http://www.bioconductor.org/packages/" + (uri (string-append "https://www.bioconductor.org/packages/" "release/extra/src/" "contrib/RCurl_" version ".tar.gz")) (sha256 diff --git a/guix/build-system/r.scm b/guix/build-system/r.scm index c649036210..2c8a89f8de 100644 --- a/guix/build-system/r.scm +++ b/guix/build-system/r.scm @@ -50,7 +50,7 @@ available via the first URI, the second URI points to the archived version." (define (bioconductor-uri name version) "Return a URI string for the R package archive on Bioconductor for the release corresponding to NAME and VERSION." - (string-append "http://bioconductor.org/packages/release/bioc/src/contrib/" + (string-append "https://bioconductor.org/packages/release/bioc/src/contrib/" name "_" version ".tar.gz")) (define %r-build-system-modules diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 056a7dcc7c..9b08ebfb63 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -126,7 +126,7 @@ package definition." `((,type (,'quasiquote ,(format-inputs package-inputs))))))) (define %cran-url "http://cran.r-project.org/web/packages/") -(define %bioconductor-url "http://bioconductor.org/packages/") +(define %bioconductor-url "https://bioconductor.org/packages/") ;; The latest Bioconductor release is 3.5. Bioconductor packages should be ;; updated together. @@ -446,7 +446,7 @@ dependencies." (define (bioconductor-package? package) "Return true if PACKAGE is an R package from Bioconductor." (let ((predicate (lambda (uri) - (and (string-prefix? "http://bioconductor.org" uri) + (and (string-prefix? "https://bioconductor.org" uri) ;; Data packages are neither listed in SVN nor on ;; the Github mirror, so we have to exclude them ;; from the set of bioconductor packages that can be @@ -465,7 +465,7 @@ dependencies." (define (bioconductor-data-package? package) "Return true if PACKAGE is an R data package from Bioconductor." (let ((predicate (lambda (uri) - (and (string-prefix? "http://bioconductor.org" uri) + (and (string-prefix? "https://bioconductor.org" uri) (string-contains uri "/data/annotation/"))))) (and (string-prefix? "r-" (package-name package)) (match (and=> (package-source package) origin-uri) @@ -478,7 +478,7 @@ dependencies." (define (bioconductor-experiment-package? package) "Return true if PACKAGE is an R experiment package from Bioconductor." (let ((predicate (lambda (uri) - (and (string-prefix? "http://bioconductor.org" uri) + (and (string-prefix? "https://bioconductor.org" uri) (string-contains uri "/data/experiment/"))))) (and (string-prefix? "r-" (package-name package)) (match (and=> (package-source package) origin-uri) From b27991179e9ee6566cafebe6e7ca943c2fa6d0d5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 21 Oct 2017 16:27:34 +0200 Subject: [PATCH 086/116] gnu: perl-geo-ip: Update to 1.51. * gnu/packages/networking.scm (perl-geo-ip): Update to 1.51. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 79666a93d8..265455e5b2 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -875,7 +875,7 @@ offline emulation of DNS.") (define-public perl-geo-ip (package (name "perl-geo-ip") - (version "1.50") + (version "1.51") (source (origin (method url-fetch) @@ -885,7 +885,7 @@ offline emulation of DNS.") ".tar.gz")) (sha256 (base32 - "0ar69lrm26rp6sqxjf0p6cvjfprjx8gkxx11r399lvh99rqfl7zr")))) + "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Geo-IP") (synopsis From 4b9a65bf6e3c86d0b29af1a011e910c02656f99b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 21 Oct 2017 17:31:46 +0200 Subject: [PATCH 087/116] gnu: gnome-disk-utility: Update to 3.26.1. * gnu/packages/gnome.scm (gnome-disk-utility): Update to 3.26.1. [build-system]: Use meson-build-system. [native-inputs]: Add gtk+:bin. --- gnu/packages/gnome.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8bd8c8cd49..8b12333f1a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -517,7 +517,7 @@ and keep up to date translations of documentation.") (define-public gnome-disk-utility (package (name "gnome-disk-utility") - (version "3.24.1") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -525,10 +525,11 @@ and keep up to date translations of documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "18akarcbhm8djlmz49jzavc7qx8dg71gvxc9xd23p0bwjj4h93w7")))) - (build-system gnu-build-system) + "10spllvcq2q71xk3dnhzjk8v4qx9am8y1h68k8z2j0l94g1c8bi3")))) + (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") + ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("docbook-xml" ,docbook-xml) From a4194d16848da15e52abe09d74102782e945772a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 21 Oct 2017 17:38:42 +0200 Subject: [PATCH 088/116] gnu: rest: Update to 0.8.1. * gnu/packages/gnome.scm (rest): Update to 0.8.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8b12333f1a..bce2b8ae93 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2372,7 +2372,7 @@ library.") (define-public rest (package (name "rest") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/rest/" @@ -2380,7 +2380,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77")))) + "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests require internet connection From 079e679219e8643d315fa7271717fc706f913738 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Oct 2017 21:58:00 +0200 Subject: [PATCH 089/116] gnu: python-sip: Update to 4.19.3. * gnu/packages/qt.scm (python-sip): Update to 4.19.3. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a74ea01796..ae19140f74 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1443,7 +1443,7 @@ message."))) (define-public python-sip (package (name "python-sip") - (version "4.19.2") + (version "4.19.3") (source (origin (method url-fetch) @@ -1452,7 +1452,7 @@ message."))) "sip-" version "/sip-" version ".tar.gz")) (sha256 (base32 - "0cq5r21fmjyw5v7a6l4sfbaj3zgm7k5b2cryj6bnjki54nnllas3")))) + "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-wrapper))) From 28d0b52164517b507d0b2efad01ec5501b3194c7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Oct 2017 22:12:09 +0200 Subject: [PATCH 090/116] gnu: python-pyqt: Update to 5.9. * gnu/packages/qt.scm (python-pyqt): Update to 5.9. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ae19140f74..b72925ae4f 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1506,7 +1506,7 @@ module provides support functions to the automatically generated code.") (define-public python-pyqt (package (name "python-pyqt") - (version "5.8.2") + (version "5.9") (source (origin (method url-fetch) @@ -1516,7 +1516,7 @@ module provides support functions to the automatically generated code.") version ".tar.gz")) (sha256 (base32 - "1s1nalcspam9dc7f63jkqn1i2sv9lrqn57p2zsc61g8bncahbmzb")) + "15hh4z5vd45dcswjla58q6rrfr6ic7jfz2n7c8lwfb10rycpj3mb")) (patches (search-patches "pyqt-configure.patch")))) (build-system gnu-build-system) (native-inputs From 3d679ab1e5f469bf057402ef11d3fe4b3a20cf41 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Oct 2017 00:33:29 +0200 Subject: [PATCH 091/116] gnu: lame: Update to 3.100. * gnu/packages/mp3.scm (lame): Update to 3.100. [source]: Don't hard-code version. --- gnu/packages/mp3.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 579559616e..a75b1f3f78 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages video) ;ffmpeg #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system cmake)) @@ -348,14 +349,15 @@ use with CD-recording software).") (define-public lame (package (name "lame") - (version "3.99.5") + (version "3.100") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/lame/lame/3.99/lame-" + (uri (string-append "mirror://sourceforge/lame/lame/" + (version-major+minor version) "/lame-" version ".tar.gz")) (sha256 (base32 - "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14")))) + "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx")))) (build-system gnu-build-system) ;; XXX FIXME: Use gcc-4.8 on i686 to work around ;; . From 07b4cd3a48022a472c90ec46f2e8b08d9cc8fc3e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 15:54:04 +0200 Subject: [PATCH 092/116] gnu: camlp5: install META file. * gnu/packages/ocaml.scm (camlp5) [phases]: New install-meta phase. --- gnu/packages/ocaml.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index aa2f006674..40d42a5d49 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -401,7 +401,12 @@ syntax of OCaml.") (lambda _ (zero? (system* "make" "-j" (number->string (parallel-job-count)) - "world.opt"))))))) + "world.opt")))) + ;; Required for findlib to find camlp5's libraries + (add-after 'install 'install-meta + (lambda* (#:key outputs #:allow-other-keys) + (install-file "etc/META" (string-append (assoc-ref outputs "out") + "/lib/ocaml/camlp5/"))))))) (home-page "http://camlp5.gforge.inria.fr/") (synopsis "Pre-processor Pretty Printer for OCaml") (description From 6e4da73710822e1b46390a8ae0d223a0ef150298 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 15:57:48 +0200 Subject: [PATCH 093/116] gnu: Update coq to 8.7.0. * gnu/packages/ocaml.scm (coq): Update to 8.7.0. [build-system]: Use ocaml-build-system. [inputs]: Add python-2. [arguments]: Disable two failing tests. --- gnu/packages/ocaml.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 40d42a5d49..bbdde2801d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -450,26 +450,25 @@ written in Objective Caml.") (define-public coq (package (name "coq") - (version "8.5pl2") + (version "8.7.0") (source (origin (method url-fetch) (uri (string-append "https://coq.inria.fr/distrib/V" version "/files/" name "-" version ".tar.gz")) (sha256 (base32 - "0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3")))) + "15wjngjd5pyfqdl5yw92rvdxvy15xcjlpx0rqlkzvcsis1z20xpk")))) (native-search-paths (list (search-path-specification (variable "COQPATH") (files (list "lib/coq/user-contrib"))))) - (build-system gnu-build-system) + (build-system ocaml-build-system) (native-inputs `(("texlive" ,texlive) - ("findlib" ,ocaml-findlib) ("hevea" ,hevea))) (inputs - `(("ocaml" ,ocaml) - ("lablgtk" ,lablgtk) + `(("lablgtk" ,lablgtk) + ("python" ,python-2) ("camlp5" ,camlp5))) (arguments `(#:phases @@ -493,6 +492,11 @@ written in Objective Caml.") (add-after 'install 'check (lambda _ (with-directory-excursion "test-suite" + ;; These two tests fail. + ;; This one fails because the output is not formatted as expected. + (delete-file-recursively "coq-makefile/timing") + ;; This one fails because we didn't build coqtop.byte. + (delete-file-recursively "coq-makefile/findlib-package") (zero? (system* "make")))))))) (home-page "https://coq.inria.fr") (synopsis "Proof assistant for higher-order logic") From b44f13e04cec16c6c4a4ad627f79c787f868bc58 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 16:16:15 +0200 Subject: [PATCH 094/116] gnu: Update coq-flocq to 2.6.0. * gnu/packages/ocaml.scm (coq-flocq): Update to 2.6.0. --- gnu/packages/ocaml.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index bbdde2801d..f2b06d0654 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3560,14 +3560,14 @@ library is currently designed for Unicode Standard 3.2.") (define-public coq-flocq (package (name "coq-flocq") - (version "2.5.2") + (version "2.6.0") (source (origin (method url-fetch) (uri (string-append "https://gforge.inria.fr/frs/download.php/file" - "/36199/flocq-" version ".tar.gz")) + "/37054/flocq-" version ".tar.gz")) (sha256 (base32 - "0h5mlasirfzc0wwn2isg4kahk384n73145akkpinrxq5jsn5d22h")))) + "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) From 2e331c9c43a6f0678967ff05383a189241fbf458 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 16:31:46 +0200 Subject: [PATCH 095/116] gnu: Update coq-mathcomp to 1.6.2. * gnu/packages/ocaml.scm (coq-mathcomp): Update to 1..6.2. --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f2b06d0654..beb73a2d06 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3657,14 +3657,14 @@ assistant.") (define-public coq-mathcomp (package (name "coq-mathcomp") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-" version ".tar.gz")) (sha256 (base32 - "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw")))) + "0lg5ncr7p4y8qqq6pfw6brqc6a9xzlfa0drprwfdn0rnyaq5nca6")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) From 3ffd180cc5284f8ee3c61073593347fbb042fe58 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 16:52:29 +0200 Subject: [PATCH 096/116] gnu: Update coq-coquelicot to 3.0.1. * gnu/packages/ocaml.scm (coq-coquelicot): Update to 3.0.1. --- gnu/packages/ocaml.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index beb73a2d06..6cf92689ac 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3699,14 +3699,14 @@ part of the distribution.") (define-public coq-coquelicot (package (name "coq-coquelicot") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (string-append "https://gforge.inria.fr/frs/download.php/" - "file/36537/coquelicot-" version ".tar.gz")) + "file/37045/coquelicot-" version ".tar.gz")) (sha256 (base32 - "0fx99bvsbdizj00gx2im8939y4wwl05f4qhw184j90kcx5vjxxv9")))) + "0hsyhsy2lwqxxx2r8xgi5csmirss42lp9bkb9yy35mnya0w78c8r")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) From dbfb1a596ae75554fd9bc3f9ff5024789e790091 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 18:05:11 +0200 Subject: [PATCH 097/116] gnu: Add coq-bignums. * gnu/packages/ocaml.scm (coq-bignums): New variable. --- gnu/packages/ocaml.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 6cf92689ac..addcdba5a0 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3746,6 +3746,38 @@ conservative extension of Coq's standard library and provides correspondence theorems between the two libraries.") (license license:lgpl3+))) +(define-public coq-bignums + (package + (name "coq-bignums") + (version "8.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/coq/bignums/archive/V" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03iw9jiwq9jx45gsvp315y3lxr8m9ksppmcjvxs5c23qnky6zqjx")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("coq" ,coq))) + (inputs + `(("camlp5" ,camlp5))) + (arguments + `(#:tests? #f; No test target + #:make-flags + (list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/coq/bignums") + (synopsis "Coq library for arbitrary large numbers") + (description "Bignums is a coq library of arbitrary large numbers. It +provides BigN, BigZ, BigQ that used to be part of Coq standard library.") + (license license:lgpl2.1+))) + (define-public coq-interval (package (name "coq-interval") From 6efc99967800183daa74ba2ebff6185dfcf1b33d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 21 Oct 2017 18:11:05 +0200 Subject: [PATCH 098/116] gnu: Update coq-interval to 3.3.0. * gnu/packages/ocaml.scm (coq-interval): Update to 3.3.0. [inputs]: Add coq-bignums. --- gnu/packages/ocaml.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index addcdba5a0..b13168c7da 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3781,14 +3781,14 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (define-public coq-interval (package (name "coq-interval") - (version "3.2.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (string-append "https://gforge.inria.fr/frs/download.php/" "file/36538/interval-" version ".tar.gz")) (sha256 (base32 - "16ir7mizl18kwa1ls8fwjih6r87894bvc1r6lh85cd43la7nriq3")))) + "08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -3796,6 +3796,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") ("coq" ,coq))) (propagated-inputs `(("flocq" ,coq-flocq) + ("bignums" ,coq-bignums) ("coquelicot" ,coq-coquelicot) ("mathcomp" ,coq-mathcomp))) (arguments From 1ab867bebb78bb2efbe8e33c12e5f17b0e16a950 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Oct 2017 10:49:32 +0200 Subject: [PATCH 099/116] gnu: Add r-pdist. * gnu/packages/cran.scm (r-pdist): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e00a8a4ba2..dba294c8d7 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1217,3 +1217,27 @@ initial data set and then applied to other data sets. The resulting design matrices can then be used as inputs into statistical or machine learning models.") (license license:gpl2))) + +(define-public r-pdist + (package + (name "r-pdist") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "pdist" version)) + (sha256 + (base32 + "18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd")))) + (build-system r-build-system) + (home-page "https://github.com/jeffwong/pdist") + (synopsis "Partitioned distance function") + (description + "Pdist computes the euclidean distance between rows of a matrix X and +rows of another matrix Y. Previously, this could be done by binding the two +matrices together and calling @code{dist}, but this creates unnecessary +computation by computing the distances between a row of X and another row of +X, and likewise for Y. Pdist strictly computes distances across the two +matrices, not within the same matrix, making computations significantly faster +for certain use cases.") + (license license:gpl3+))) From e206de67b60d76c96eed74edf741ea9e91de4ef8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Oct 2017 10:50:04 +0200 Subject: [PATCH 100/116] gnu: Add r-rgraphviz. * gnu/packages/graph.scm (r-rgraphviz): New variable. --- gnu/packages/graph.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 683bfeec66..f91e81a30f 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -25,7 +25,9 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages gcc) + #:use-module (gnu packages bioinformatics) #:use-module (gnu packages compression) + #:use-module (gnu packages graphviz) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) @@ -116,3 +118,31 @@ It can handle large graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more.") (license license:gpl2+))) + +(define-public r-rgraphviz + (package + (name "r-rgraphviz") + (version "2.20.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Rgraphviz" version)) + (sha256 + (base32 + "0mwdqsmmhpk8szp3pf3bw66nv2sazpjiflpwdvqwjamvxyynmp67")))) + (properties `((upstream-name . "Rgraphviz"))) + (build-system r-build-system) + ;; FIXME: Rgraphviz bundles the sources of an older variant of + ;; graphviz. It does not build with the latest version of graphviz, so + ;; we do not add graphviz to the inputs. + (inputs `(("zlib" ,zlib))) + (propagated-inputs + `(("r-graph" ,r-graph))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://bioconductor.org/packages/Rgraphviz") + (synopsis "Plotting capabilities for R graph objects") + (description + "This package interfaces R with the graphviz library for plotting R graph +objects from the @code{graph} package.") + (license license:epl1.0))) From a8bf6b9b9b6816cdc545cf12f996ab4459f7b739 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 11:51:57 +0200 Subject: [PATCH 101/116] gnu: raul-devel: Update to 0.8.9-4db870b2b. * gnu/packages/audio.scm (raul-devel): Update to 0.8.9-4db870b2b. --- gnu/packages/audio.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3147fdfbb9..03fedb1ad3 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1916,11 +1916,11 @@ aimed at audio/musical applications.") (license license:gpl2+))) (define-public raul-devel - (let ((commit "f8bf77d3c3b77830aedafb9ebb5cdadfea7ed07a") + (let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624") (revision "1")) (package (inherit raul) (name "raul") - (version (string-append "0.8.4-" revision "." + (version (string-append "0.8.9-" revision "." (string-take commit 9))) (source (origin (method git-fetch) @@ -1930,7 +1930,7 @@ aimed at audio/musical applications.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1lby508fb0n8ks6iz959sh18fc37br39d6pbapwvbcw5nckdrxwj"))))))) + "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr"))))))) (define-public rubberband (package From ab8f4a7067de1d7c6ec21d6c28c0d3313d85e9d3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 11:57:20 +0200 Subject: [PATCH 102/116] gnu: ganv-devel: Update to 1.5.4-12f7d6b04. * gnu/packages/gtk.scm (ganv-devel): Update to 1.5.4-12f7d6b04. --- gnu/packages/gtk.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ff8509fd93..235d2c3718 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -306,12 +306,12 @@ diagrams.") (license license:gpl3+))) (define-public ganv-devel - (let ((commit "31685d283e9b811b61014f820c42807f4effa071") + (let ((commit "12f7d6b0438c94dd87f773a92eee3453d971846e") (revision "1")) (package (inherit ganv) (name "ganv") - (version (string-append "1.4.2-" revision "." + (version (string-append "1.5.4-" revision "." (string-take commit 9))) (source (origin (method git-fetch) @@ -320,7 +320,7 @@ diagrams.") (commit commit))) (sha256 (base32 - "0xmbykdl42jn9cgzrqrys5lng67d26nk5xq10wkkvjqldiwdck56"))))))) + "1cr8w02lr6bk9mkxa12j3imq721b2an2yn4bj5wnwmpm91ddn2gi"))))))) (define-public gtksourceview-2 (package From 5e30032ffbb2b646ecda3bb77ac1d108b5036fe5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 11:57:56 +0200 Subject: [PATCH 103/116] gnu: Add lv2-devel. * gnu/packages/audio.scm (lv2-devel): New variable. --- gnu/packages/audio.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 03fedb1ad3..afae5c159d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1660,6 +1660,21 @@ add functionality to support the needs of increasingly powerful audio software.") (license license:isc))) +(define-public lv2-devel + (let ((commit "39c7c726cd52b2863fcea356cafe1bcab2ba7f37") + (revision "1")) + (package (inherit lv2) + (name "lv2-devel") + (version (string-append "1.15.3-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "http://lv2plug.in/git/lv2.git") + (commit commit))) + (sha256 + (base32 + "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r"))))))) + (define-public lv2-mda-piano (package (name "lv2-mda-piano") From 197484147a24864cd308c22b8c1d093fb8ebe91d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 11:58:26 +0200 Subject: [PATCH 104/116] gnu: ingen: Update to 0.0.0-2.cc4a4db33. * gnu/packages/music.scm (ingen): Update to 0.0.0-2.cc4a4db33. [inputs]: Replace lv2 with lv2-devel. --- gnu/packages/music.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 02be44a752..ea1904596e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2807,8 +2807,8 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") (license license:gpl2+)))) (define-public ingen - (let ((commit "fd147d0b888090bfb897505852c1f25dbdf77e18") - (revision "1")) + (let ((commit "cc4a4db33f4d126a07a4a498e053c5fb9a883be3") + (revision "2")) (package (name "ingen") (version (string-append "0.0.0-" revision "." @@ -2822,7 +2822,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1qmg79962my82c43vyrv5sxbqci9c7gc2s9bwaaqd0fcf08xcz1z")))) + "1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target @@ -2866,7 +2866,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") ("python-rdflib" ,python-rdflib) ("python" ,python) ("jack" ,jack-1) - ("lv2" ,lv2) + ("lv2" ,lv2-devel) ("lilv" ,lilv) ("raul" ,raul-devel) ("ganv" ,ganv-devel) From a00403c61c3df9777dc1c9d8cb342d00cb31914f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 12:03:30 +0200 Subject: [PATCH 105/116] gnu: suil: Update to 0.10.0. * gnu/packages/audio.scm (suil): Update to 0.10.0. [inputs]: Add gtk+. [description]: Remove version numbers from supported toolkits. --- gnu/packages/audio.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index afae5c159d..aaac1c357e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2055,14 +2055,14 @@ the Turtle syntax.") (define-public suil (package (name "suil") - (version "0.8.4") + (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "http://download.drobilla.net/suil-" version ".tar.bz2")) (sha256 (base32 - "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf")))) + "0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -2070,7 +2070,8 @@ the Turtle syntax.") '("CXXFLAGS=-std=gnu++11"))) (inputs `(("lv2" ,lv2) - ("gtk+-2" ,gtk+-2) + ("gtk+" ,gtk+-2) + ("gtk+" ,gtk+) ("qt" ,qtbase))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2084,7 +2085,7 @@ toolkit. The API is designed such that hosts do not need to explicitly support specific toolkits – if Suil supports a particular toolkit, then UIs in that toolkit will work in all hosts that use Suil automatically. -Suil currently supports every combination of Gtk 2, Qt 4, and X11.") +Suil currently supports every combination of Gtk, Qt, and X11.") (license license:isc))) (define-public timidity++ From ed26b3a80736a84568fec3d7594d6b766efa4acd Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 19 Oct 2017 14:28:37 +0200 Subject: [PATCH 106/116] doc: Clarify description of etc-service-type. * doc/guix.texi (Service Reference): Update 'etc-service-type' documentation. --- doc/guix.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 753d3c4827..7d7d556697 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18605,7 +18605,8 @@ The boot script is what the initial RAM disk runs when booting. @end defvr @defvr {Scheme Variable} etc-service-type -The type of the @file{/etc} service. This service can be extended by +The type of the @file{/etc} service. This service is used to create +files under @file{/etc} and can be extended by passing it name/file tuples such as: @example From 12a9f7be541a3483c5d173bd37d409f7fab2f442 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 22 Oct 2017 12:58:14 +0200 Subject: [PATCH 107/116] gnu: kservice: Fix comment (number of failing tests). * gnu/packages/kde-frameweorks.scm(kservice): Fix comment. --- gnu/packages/kde-frameworks.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 5fdf3bc9e9..6a46f28684 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2780,7 +2780,7 @@ typed.") ("ki18n" ,ki18n) ("qtbase" ,qtbase))) (arguments - `(#:tests? #f ; FIXME: 8/10 tests fail. + `(#:tests? #f ; FIXME: 6/10 tests fail. #:phases (modify-phases %standard-phases (add-before 'check 'check-setup From 03639d0354b708ac8ec08ff216113ca197c46787 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Oct 2017 13:18:42 +0200 Subject: [PATCH 108/116] gnu: Add python-editdistance. * gnu/packages/textutils.scm (python-editdistance): New variable. --- gnu/packages/textutils.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index b540004fc3..674a3507d0 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -38,6 +38,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system trivial) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) @@ -623,3 +624,39 @@ completely with the standard @code{javax.swing.text} package. It is fast and efficient, and can be used in any application that needs to edit or view source code.") (license license:bsd-3))) + +;; We use the sources from git instead of the tarball from pypi, because the +;; latter does not include the Cython source file from which bycython.cpp is +;; generated. +(define-public python-editdistance + (let ((commit "3ea84a7dd3258c76aa3be851ef3d50e59c886846") + (revision "1")) + (package + (name "python-editdistance") + (version (string-append "0.3.1-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aflc/editdistance.git") + (commit commit))) + (sha256 + (base32 + "1l43svsv12crvzphrgi6x435z6xg8m086c64armp8wzb4l8ccm7g")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'build-cython-code + (lambda _ + (with-directory-excursion "editdistance" + (delete-file "bycython.cpp") + (zero? (system* "cython" "--cplus" "bycython.pyx")))))))) + (native-inputs + `(("python-cython" ,python-cython))) + (home-page "https://www.github.com/aflc/editdistance") + (synopsis "Fast implementation of the edit distance (Levenshtein distance)") + (description + "This library simply implements Levenshtein distance algorithm with C++ +and Cython.") + (license license:expat)))) From 58f0a19c5843f9d187b4b60b1ec42a3357ce9d13 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Oct 2017 03:11:46 +0200 Subject: [PATCH 109/116] gnu: sddm: Fix FTBFS after Qt paths change. * gnu/packages/display-managers.scm (sddm)[arguments]: Add 'fix-qml-include' phase. --- gnu/packages/display-managers.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 8e5bca64c0..7c7a70e950 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Sou Bunnbu +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,14 @@ Qt-style API for Wayland clients.") (substitute* "CMakeLists.txt" (("/usr/bin/loginctl") (which "loginctl"))) #t)) + (add-before 'configure 'fix-qml-include + (lambda _ + ;; Make sure QtQml is found when building the helper. + ;; See . + (substitute* "src/helper/CMakeLists.txt" + (("target_link_libraries\\(sddm-helper") + "target_link_libraries(sddm-helper Qt5::Qml")) + #t)) (add-after 'install 'wrap-programs (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) From d436c6b56673608e1e44ba87c211bc3ec4d747ca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Oct 2017 13:05:04 +0200 Subject: [PATCH 110/116] gnu: rottlog: Remove hard-coded '/usr/sbin/sendmail' reference. * gnu/packages/admin.scm (rottlog)[arguments]: Add 'patch-paths' phase. --- gnu/packages/admin.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 265ca63213..cb5e86d39a 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -783,6 +783,11 @@ over ssh connections.") "/etc")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "rc/rc" + (("/usr/sbin/sendmail") "sendmail")) + #t)) (add-after 'build 'set-packdir (lambda _ ;; Set a default location for archived logs. From 3e8daecfd8daaa5351e1f24e2529e7042b5e6cb8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Oct 2017 13:22:06 +0200 Subject: [PATCH 111/116] gnu: vim: Update to 8.0.1207. * gnu/packages/vim.scm (vim): Update to 8.0.1207. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index dffd6d96c0..560203fcaf 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -60,7 +60,7 @@ (define-public vim (package (name "vim") - (version "8.0.1130") + (version "8.0.1207") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" @@ -68,7 +68,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zqyk7086crc6q5fil38szppx9sgd14fs3wb9h4ak13jg6s2ir90")))) + "0zq740d0crybva00dk0rxsa9q1gafvc438syxqlmlxgnk5f0xd11")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From b000294ef75f89bcaa6afc0c61e492c13f24376b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 22 Oct 2017 19:21:17 +0800 Subject: [PATCH 112/116] gnu: qt: Set 'EffectiveSourcePaths' to 'qtbase' for submodules. Fixes a regression introduced in 8075b623786f11966febac7d4ac0f5e90e3f7712. This allows 'linguist.pro' of 'qttools' to find 'ConfigVersion.cmake.in', which is needed for 'Qt5LinguistToolsConfigVersion.cmake'. Reported by Thomas Danckaert . * gnu/packages/qt.scm (qtsvg)[arguments]: Set 'EffectiveSourcePaths' in the 'configure-qmake' phase. --- gnu/packages/qt.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index b72925ae4f..b7a615bc10 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -617,7 +617,11 @@ HostPrefix=~a HostData=lib/qt5 HostBinaries=bin HostLibraries=lib -" out out))) + +[EffectiveSourcePaths] +HostPrefix=~a +HostData=lib/qt5 +" out out qtbase))) #t))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) From 7f7fadb592310b4b7103ef0929dfb5b63ddafe08 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 22 Oct 2017 16:55:36 +0200 Subject: [PATCH 113/116] gnu: keepassxc: Update to 2.2.1. * gnu/packages/password-utils.scm (keepassxc): Update to 2.2.1. --- gnu/packages/password-utils.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index df6103f6a1..2fed93bf22 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2017 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,7 +84,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -92,7 +93,7 @@ human.") version "-src.tar.xz")) (sha256 (base32 - "0nby6aq6w8g7c9slzahf7i34sbj8majf8rhmqqww87v6kaypxi3i")))) + "1gkxsv3g4pkzbjkd1c27k15m2b5y2fqnnijphnaiv542yk7csqb7")))) (build-system cmake-build-system) (inputs `(("libgcrypt" ,libgcrypt) From 69f7f0454463124d53b2404f4e701e3d544b94ba Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 14 Oct 2017 05:52:51 +0200 Subject: [PATCH 114/116] gnu: python2-hypothesis: fix propagated inputs. * gnu/packages/python.scm (python2-hypothesis)[propagated-inputs]: Add python2-enum34, which was incorrectly listed among the native inputs. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0684090c3d..2b9e486877 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10150,9 +10150,9 @@ seamlessly into your existing Python unit testing work flow.") (let ((hypothesis (package-with-python2 (strip-python2-variant python-hypothesis)))) (package (inherit hypothesis) - (native-inputs + (propagated-inputs `(("python2-enum34" ,python2-enum34) - ,@(package-native-inputs hypothesis)))))) + ,@(package-propagated-inputs hypothesis)))))) (define-public python-pytest-subtesthack (package From a54cb3ce1f114ee1bc26371d9bc4abb0e04001ef Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 14 Oct 2017 05:22:58 +0200 Subject: [PATCH 115/116] gnu: python-chardet: Update to 3.0.4. * gnu/packages/python.scm (python-chardet, python2-chardet): Update to 3.0.4. --- gnu/packages/python.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2b9e486877..108a54f8d0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8619,7 +8619,7 @@ simulation, statistical modeling, machine learning and much more.") (define-public python-chardet (package (name "python-chardet") - (version "2.3.0") + (version "3.0.4") (source (origin (method url-fetch) @@ -8629,7 +8629,11 @@ simulation, statistical modeling, machine learning and much more.") ".tar.gz")) (sha256 (base32 - "1ak87ikcw34fivcgiz2xvi938dmclh078az65l9x3rmgljrkhgp5")))) + "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4")))) + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) (build-system python-build-system) (home-page "https://github.com/chardet/chardet") (synopsis "Universal encoding detector for Python 2 and 3") From 25669275a1a570cc266128274cb27a22f6a3a318 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Oct 2017 17:22:02 +0200 Subject: [PATCH 116/116] gnu: irssi: Update to 1.0.5 [security fixes]. Fixes CVE-2017-15228, CVE-2017-15227, CVE-2017-15721, CVE-2017-15723 and CVE-2017-15722. See . * gnu/packages/irc.scm (irssi): Update to 1.0.5. --- gnu/packages/irc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 552349247f..5f031e3983 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -110,7 +110,7 @@ irssi, but graphical.") (define-public irssi (package (name "irssi") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -118,7 +118,7 @@ irssi, but graphical.") version ".tar.xz")) (sha256 (base32 - "1jl6p431rv4iixk48wn607m4s0mcy3wgasfwrhz22y71mzdhfp5q")))) + "055r9fhbfcfkzinsnprnlqd8psspdyn3j26lzsmnrc1fw4kn8mf2")))) (build-system gnu-build-system) (arguments `(#:phases