From 3f55b7be16c52a298b8b8d79f199119944784ca3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Sep 2019 22:15:54 +0200 Subject: gnu: glm: Update to 0.9.9.6. * gnu/packages/maths.scm (glm): Update to 0.9.9.6. [source]: Add patch. * gnu/packages/patches/glm-restore-install-target.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/maths.scm | 6 +- .../patches/glm-restore-install-target.patch | 574 +++++++++++++++++++++ 3 files changed, 578 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/glm-restore-install-target.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8e535e208b..043469b716 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -895,6 +895,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-versioned-locpath.patch \ %D%/packages/patches/glibc-2.27-git-fixes.patch \ %D%/packages/patches/glibc-2.28-git-fixes.patch \ + %D%/packages/patches/glm-restore-install-target.patch \ %D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-faulty-test.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 47026ec41b..2e0883a724 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3543,15 +3543,15 @@ (define-public atlas (define-public glm (package (name "glm") - (version "0.9.9.5") + (version "0.9.9.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/g-truc/glm/releases/download/" version "/glm-" version ".zip")) (sha256 - (base32 - "1vmg7hb4xvsa77zpbwiw6lqc7pyaj56dihx6xriny5b9rrh4iqsg")))) + (base32 "1l0pi1qi37mk6s0yrkrw07lspv4gcqnr9ryg3521hrl77ff37dwx")) + (patches (search-patches "glm-restore-install-target.patch")))) (build-system cmake-build-system) (native-inputs `(("unzip" ,unzip))) diff --git a/gnu/packages/patches/glm-restore-install-target.patch b/gnu/packages/patches/glm-restore-install-target.patch new file mode 100644 index 0000000000..a628030f6f --- /dev/null +++ b/gnu/packages/patches/glm-restore-install-target.patch @@ -0,0 +1,574 @@ +From: Tobias Geerinckx-Rice +Date: Mon, 23 Sep 2019 22:01:17 +0200 +Subject: [PATCH] gnu: glm: Restore ‘install’ target. + +It was removed in 0.9.9.6, making installation a tedious manual process +for no clear reason[0]. Restore it for now. + +[0]: https://github.com/g-truc/glm/issues/947 + +diff -Naur glm/cmake/CMakePackageConfigHelpers.cmake glmn/cmake/CMakePackageConfigHelpers.cmake +--- glm/cmake/CMakePackageConfigHelpers.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake/CMakePackageConfigHelpers.cmake 2019-09-23 00:11:21.418152249 +0200 +@@ -0,0 +1,227 @@ ++# - CONFIGURE_PACKAGE_CONFIG_FILE(), WRITE_BASIC_PACKAGE_VERSION_FILE() ++# ++# CONFIGURE_PACKAGE_CONFIG_FILE( INSTALL_DESTINATION ++# [PATH_VARS ... ] ++# [NO_SET_AND_CHECK_MACRO] ++# [NO_CHECK_REQUIRED_COMPONENTS_MACRO]) ++# ++# CONFIGURE_PACKAGE_CONFIG_FILE() should be used instead of the plain ++# CONFIGURE_FILE() command when creating the Config.cmake or -config.cmake ++# file for installing a project or library. It helps making the resulting package ++# relocatable by avoiding hardcoded paths in the installed Config.cmake file. ++# ++# In a FooConfig.cmake file there may be code like this to make the ++# install destinations know to the using project: ++# set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" ) ++# set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" ) ++# set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" ) ++# ...logic to determine installedPrefix from the own location... ++# set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" ) ++# All 4 options shown above are not sufficient, since the first 3 hardcode ++# the absolute directory locations, and the 4th case works only if the logic ++# to determine the installedPrefix is correct, and if CONFIG_INSTALL_DIR contains ++# a relative path, which in general cannot be guaranteed. ++# This has the effect that the resulting FooConfig.cmake file would work poorly ++# under Windows and OSX, where users are used to choose the install location ++# of a binary package at install time, independent from how CMAKE_INSTALL_PREFIX ++# was set at build/cmake time. ++# ++# Using CONFIGURE_PACKAGE_CONFIG_FILE() helps. If used correctly, it makes the ++# resulting FooConfig.cmake file relocatable. ++# Usage: ++# 1. write a FooConfig.cmake.in file as you are used to ++# 2. insert a line containing only the string "@PACKAGE_INIT@" ++# 3. instead of SET(FOO_DIR "@SOME_INSTALL_DIR@"), use SET(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@") ++# (this must be after the @PACKAGE_INIT@ line) ++# 4. instead of using the normal CONFIGURE_FILE(), use CONFIGURE_PACKAGE_CONFIG_FILE() ++# ++# The and arguments are the input and output file, the same way ++# as in CONFIGURE_FILE(). ++# ++# The given to INSTALL_DESTINATION must be the destination where the FooConfig.cmake ++# file will be installed to. This can either be a relative or absolute path, both work. ++# ++# The variables to given as PATH_VARS are the variables which contain ++# install destinations. For each of them the macro will create a helper variable ++# PACKAGE_. These helper variables must be used ++# in the FooConfig.cmake.in file for setting the installed location. They are calculated ++# by CONFIGURE_PACKAGE_CONFIG_FILE() so that they are always relative to the ++# installed location of the package. This works both for relative and also for absolute locations. ++# For absolute locations it works only if the absolute location is a subdirectory ++# of CMAKE_INSTALL_PREFIX. ++# ++# By default configure_package_config_file() also generates two helper macros, ++# set_and_check() and check_required_components() into the FooConfig.cmake file. ++# ++# set_and_check() should be used instead of the normal set() ++# command for setting directories and file locations. Additionally to setting the ++# variable it also checks that the referenced file or directory actually exists ++# and fails with a FATAL_ERROR otherwise. This makes sure that the created ++# FooConfig.cmake file does not contain wrong references. ++# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated into the ++# FooConfig.cmake file. ++# ++# check_required_components() should be called at the end of the ++# FooConfig.cmake file if the package supports components. ++# This macro checks whether all requested, non-optional components have been found, ++# and if this is not the case, sets the Foo_FOUND variable to FALSE, so that the package ++# is considered to be not found. ++# It does that by testing the Foo__FOUND variables for all requested ++# required components. ++# When using the NO_CHECK_REQUIRED_COMPONENTS option, this macro is not generated ++# into the FooConfig.cmake file. ++# ++# For an example see below the documentation for WRITE_BASIC_PACKAGE_VERSION_FILE(). ++# ++# ++# WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion|ExactVersion) ) ++# ++# Writes a file for use as ConfigVersion.cmake file to . ++# See the documentation of FIND_PACKAGE() for details on this. ++# filename is the output filename, it should be in the build tree. ++# major.minor.patch is the version number of the project to be installed ++# The COMPATIBILITY mode AnyNewerVersion means that the installed package version ++# will be considered compatible if it is newer or exactly the same as the requested version. ++# This mode should be used for packages which are fully backward compatible, ++# also across major versions. ++# If SameMajorVersion is used instead, then the behaviour differs from AnyNewerVersion ++# in that the major version number must be the same as requested, e.g. version 2.0 will ++# not be considered compatible if 1.0 is requested. ++# This mode should be used for packages which guarantee backward compatibility within the ++# same major version. ++# If ExactVersion is used, then the package is only considered compatible if the requested ++# version matches exactly its own version number (not considering the tweak version). ++# For example, version 1.2.3 of a package is only considered compatible to requested version 1.2.3. ++# This mode is for packages without compatibility guarantees. ++# If your project has more elaborated version matching rules, you will need to write your ++# own custom ConfigVersion.cmake file instead of using this macro. ++# ++# Internally, this macro executes configure_file() to create the resulting ++# version file. Depending on the COMPATIBILITY, either the file ++# BasicConfigVersion-SameMajorVersion.cmake.in or BasicConfigVersion-AnyNewerVersion.cmake.in ++# is used. Please note that these two files are internal to CMake and you should ++# not call configure_file() on them yourself, but they can be used as starting ++# point to create more sophisticted custom ConfigVersion.cmake files. ++# ++# ++# Example using both configure_package_config_file() and write_basic_package_version_file(): ++# CMakeLists.txt: ++# set(INCLUDE_INSTALL_DIR include/ ... CACHE ) ++# set(LIB_INSTALL_DIR lib/ ... CACHE ) ++# set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE ) ++# ... ++# include(CMakePackageConfigHelpers) ++# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ++# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake ++# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR) ++# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake ++# VERSION 1.2.3 ++# COMPATIBILITY SameMajorVersion ) ++# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake ++# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake ) ++# ++# With a FooConfig.cmake.in: ++# set(FOO_VERSION x.y.z) ++# ... ++# @PACKAGE_INIT@ ++# ... ++# set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") ++# set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@") ++# ++# check_required_components(Foo) ++ ++ ++#============================================================================= ++# Copyright 2012 Alexander Neundorf ++# ++# Distributed under the OSI-approved BSD License (the "License"); ++# see accompanying file Copyright.txt for details. ++# ++# This software is distributed WITHOUT ANY WARRANTY; without even the ++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++# See the License for more information. ++#============================================================================= ++# (To distribute this file outside of CMake, substitute the full ++# License text for the above reference.) ++ ++include(CMakeParseArguments) ++ ++include(WriteBasicConfigVersionFile) ++ ++macro(WRITE_BASIC_PACKAGE_VERSION_FILE) ++ write_basic_config_version_file(${ARGN}) ++endmacro() ++ ++ ++function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile) ++ set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ set(oneValueArgs INSTALL_DESTINATION ) ++ set(multiValueArgs PATH_VARS ) ++ ++ cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) ++ ++ if(CCF_UNPARSED_ARGUMENTS) ++ message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"") ++ endif() ++ ++ if(NOT CCF_INSTALL_DESTINATION) ++ message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()") ++ endif() ++ ++ if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}") ++ set(absInstallDir "${CCF_INSTALL_DESTINATION}") ++ else() ++ set(absInstallDir "${CMAKE_INSTALL_PREFIX}/${CCF_INSTALL_DESTINATION}") ++ endif() ++ file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${CMAKE_INSTALL_PREFIX}" ) ++ ++ foreach(var ${CCF_PATH_VARS}) ++ if(NOT DEFINED ${var}) ++ message(FATAL_ERROR "Variable ${var} does not exist") ++ else() ++ if(IS_ABSOLUTE "${${var}}") ++ string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${PACKAGE_PREFIX_DIR}" ++ PACKAGE_${var} "${${var}}") ++ else() ++ set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}") ++ endif() ++ endif() ++ endforeach() ++ ++ set(PACKAGE_INIT " ++####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### ++get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE) ++") ++ ++ if(NOT CCF_NO_SET_AND_CHECK_MACRO) ++ set(PACKAGE_INIT "${PACKAGE_INIT} ++macro(set_and_check _var _file) ++ set(\${_var} \"\${_file}\") ++ if(NOT EXISTS \"\${_file}\") ++ message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\") ++ endif() ++endmacro() ++") ++ endif() ++ ++ ++ if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ set(PACKAGE_INIT "${PACKAGE_INIT} ++macro(check_required_components _NAME) ++ foreach(comp \${\${_NAME}_FIND_COMPONENTS}) ++ if(NOT \${_NAME}_\${comp}_FOUND) ++ if(\${_NAME}_FIND_REQUIRED_\${comp}) ++ set(\${_NAME}_FOUND FALSE) ++ endif() ++ endif() ++ endforeach(comp) ++endmacro() ++") ++ endif() ++ ++ set(PACKAGE_INIT "${PACKAGE_INIT} ++####################################################################################") ++ ++ configure_file("${_inputFile}" "${_outputFile}" @ONLY) ++ ++endfunction() +diff -Naur glm/cmake/glmBuildConfig.cmake.in glmn/cmake/glmBuildConfig.cmake.in +--- glm/cmake/glmBuildConfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake/glmBuildConfig.cmake.in 2019-09-23 00:12:08.090955650 +0200 +@@ -0,0 +1,6 @@ ++set(GLM_VERSION "@GLM_VERSION@") ++set(GLM_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@") ++ ++if (NOT CMAKE_VERSION VERSION_LESS "3.0") ++ include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") ++endif() +diff -Naur glm/cmake/glmConfig.cmake.in glmn/cmake/glmConfig.cmake.in +--- glm/cmake/glmConfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake/glmConfig.cmake.in 2019-09-23 00:12:14.566373412 +0200 +@@ -0,0 +1,9 @@ ++set(GLM_VERSION "@GLM_VERSION@") ++ ++@PACKAGE_INIT@ ++ ++set_and_check(GLM_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") ++ ++if (NOT CMAKE_VERSION VERSION_LESS "3.0") ++ include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") ++endif() +diff -Naur glm/cmake/glm.pc.in glmn/cmake/glm.pc.in +--- glm/cmake/glm.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake/glm.pc.in 2019-09-23 00:11:59.695710511 +0200 +@@ -0,0 +1,7 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++ ++Name: GLM ++Description: OpenGL Mathematics ++Version: @GLM_VERSION@ ++Cflags: -I${includedir} +diff -Naur glm/cmake/GNUInstallDirs.cmake glmn/cmake/GNUInstallDirs.cmake +--- glm/cmake/GNUInstallDirs.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake/GNUInstallDirs.cmake 2019-09-23 00:11:47.363819337 +0200 +@@ -0,0 +1,188 @@ ++# - Define GNU standard installation directories ++# Provides install directory variables as defined for GNU software: ++# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html ++# Inclusion of this module defines the following variables: ++# CMAKE_INSTALL_ - destination for files of a given type ++# CMAKE_INSTALL_FULL_ - corresponding absolute path ++# where is one of: ++# BINDIR - user executables (bin) ++# SBINDIR - system admin executables (sbin) ++# LIBEXECDIR - program executables (libexec) ++# SYSCONFDIR - read-only single-machine data (etc) ++# SHAREDSTATEDIR - modifiable architecture-independent data (com) ++# LOCALSTATEDIR - modifiable single-machine data (var) ++# LIBDIR - object code libraries (lib or lib64 or lib/ on Debian) ++# INCLUDEDIR - C header files (include) ++# OLDINCLUDEDIR - C header files for non-gcc (/usr/include) ++# DATAROOTDIR - read-only architecture-independent data root (share) ++# DATADIR - read-only architecture-independent data (DATAROOTDIR) ++# INFODIR - info documentation (DATAROOTDIR/info) ++# LOCALEDIR - locale-dependent data (DATAROOTDIR/locale) ++# MANDIR - man documentation (DATAROOTDIR/man) ++# DOCDIR - documentation root (DATAROOTDIR/doc/PROJECT_NAME) ++# Each CMAKE_INSTALL_ value may be passed to the DESTINATION options of ++# install() commands for the corresponding file type. If the includer does ++# not define a value the above-shown default will be used and the value will ++# appear in the cache for editing by the user. ++# Each CMAKE_INSTALL_FULL_ value contains an absolute path constructed ++# from the corresponding destination by prepending (if necessary) the value ++# of CMAKE_INSTALL_PREFIX. ++ ++#============================================================================= ++# Copyright 2011 Nikita Krupen'ko ++# Copyright 2011 Kitware, Inc. ++# ++# Distributed under the OSI-approved BSD License (the "License"); ++# see accompanying file Copyright.txt for details. ++# ++# This software is distributed WITHOUT ANY WARRANTY; without even the ++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++# See the License for more information. ++#============================================================================= ++# (To distribute this file outside of CMake, substitute the full ++# License text for the above reference.) ++ ++# Installation directories ++# ++if(NOT DEFINED CMAKE_INSTALL_BINDIR) ++ set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_SBINDIR) ++ set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR) ++ set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) ++ set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR) ++ set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR) ++ set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_LIBDIR) ++ set(_LIBDIR_DEFAULT "lib") ++ # Override this default 'lib' with 'lib64' iff: ++ # - we are on Linux system but NOT cross-compiling ++ # - we are NOT on debian ++ # - we are on a 64 bits system ++ # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf ++ # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if ++ # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" ++ # See http://wiki.debian.org/Multiarch ++ if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") ++ AND NOT CMAKE_CROSSCOMPILING) ++ if (EXISTS "/etc/debian_version") # is this a debian system ? ++ if(CMAKE_LIBRARY_ARCHITECTURE) ++ set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") ++ endif() ++ else() # not debian, rely on CMAKE_SIZEOF_VOID_P: ++ if(NOT DEFINED CMAKE_SIZEOF_VOID_P) ++ message(AUTHOR_WARNING ++ "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. " ++ "Please enable at least one language before including GNUInstallDirs.") ++ else() ++ if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") ++ set(_LIBDIR_DEFAULT "lib64") ++ endif() ++ endif() ++ endif() ++ endif() ++ set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR) ++ set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR) ++ set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)") ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR) ++ set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)") ++endif() ++ ++#----------------------------------------------------------------------------- ++# Values whose defaults are relative to DATAROOTDIR. Store empty values in ++# the cache and store the defaults in local variables if the cache values are ++# not set explicitly. This auto-updates the defaults as DATAROOTDIR changes. ++ ++if(NOT CMAKE_INSTALL_DATADIR) ++ set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)") ++ set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}") ++endif() ++ ++if(NOT CMAKE_INSTALL_INFODIR) ++ set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)") ++ set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info") ++endif() ++ ++if(NOT CMAKE_INSTALL_LOCALEDIR) ++ set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)") ++ set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale") ++endif() ++ ++if(NOT CMAKE_INSTALL_MANDIR) ++ set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)") ++ set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man") ++endif() ++ ++if(NOT CMAKE_INSTALL_DOCDIR) ++ set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)") ++ set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}") ++endif() ++ ++#----------------------------------------------------------------------------- ++ ++mark_as_advanced( ++ CMAKE_INSTALL_BINDIR ++ CMAKE_INSTALL_SBINDIR ++ CMAKE_INSTALL_LIBEXECDIR ++ CMAKE_INSTALL_SYSCONFDIR ++ CMAKE_INSTALL_SHAREDSTATEDIR ++ CMAKE_INSTALL_LOCALSTATEDIR ++ CMAKE_INSTALL_LIBDIR ++ CMAKE_INSTALL_INCLUDEDIR ++ CMAKE_INSTALL_OLDINCLUDEDIR ++ CMAKE_INSTALL_DATAROOTDIR ++ CMAKE_INSTALL_DATADIR ++ CMAKE_INSTALL_INFODIR ++ CMAKE_INSTALL_LOCALEDIR ++ CMAKE_INSTALL_MANDIR ++ CMAKE_INSTALL_DOCDIR ++ ) ++ ++# Result directories ++# ++foreach(dir ++ BINDIR ++ SBINDIR ++ LIBEXECDIR ++ SYSCONFDIR ++ SHAREDSTATEDIR ++ LOCALSTATEDIR ++ LIBDIR ++ INCLUDEDIR ++ OLDINCLUDEDIR ++ DATAROOTDIR ++ DATADIR ++ INFODIR ++ LOCALEDIR ++ MANDIR ++ DOCDIR ++ ) ++ if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}}) ++ set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}") ++ else() ++ set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}") ++ endif() ++endforeach() +diff -Naur glm/CMakeLists.txt glmn/CMakeLists.txt +--- glm/CMakeLists.txt 2019-09-07 14:10:16.000000000 +0200 ++++ glmn/CMakeLists.txt 2019-09-23 00:10:29.559815104 +0200 +@@ -4,6 +4,11 @@ + set(GLM_VERSION "0.9.9") + project(glm VERSION ${GLM_VERSION} LANGUAGES CXX) + ++list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") ++ ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + enable_testing() + + option(GLM_QUIET "No CMake Message" OFF) +@@ -237,3 +242,62 @@ + add_subdirectory(glm) + add_subdirectory(test) + ++set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm") ++install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ ++ ++# CMake automatically adds an architecture compatibility check to make sure ++# 32 and 64 bit code is not accidentally mixed. For a header-only library this ++# is not required. The check can be disabled by temporarily unsetting ++# CMAKE_SIZEOF_VOID_P. In CMake 3.14 and later this can be achieved more cleanly ++# with write_basic_package_version_file(ARCH_INDEPENDENT). ++# TODO: Use this once a newer CMake can be required. ++set(GLM_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}) ++unset(CMAKE_SIZEOF_VOID_P) ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion) ++set(CMAKE_SIZEOF_VOID_P ${GLM_SIZEOF_VOID_P}) ++ ++# build tree package config ++configure_file(cmake/glmBuildConfig.cmake.in glmConfig.cmake @ONLY) ++ ++# install tree package config ++configure_package_config_file( ++ cmake/glmConfig.cmake.in ++ ${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake ++ INSTALL_DESTINATION ${GLM_INSTALL_CONFIGDIR} ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ ++install(FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" ++ DESTINATION ${GLM_INSTALL_CONFIGDIR}) ++ ++add_library(glm INTERFACE) ++target_include_directories(glm INTERFACE ++ $ ++ $) ++install(TARGETS glm EXPORT glmTargets) ++ ++export(EXPORT glmTargets FILE "${CMAKE_CURRENT_BINARY_DIR}/glmTargets.cmake") ++ ++install(EXPORT glmTargets FILE glmTargets.cmake DESTINATION ${GLM_INSTALL_CONFIGDIR}) ++ ++# build pkg-config file ++configure_file("./cmake/glm.pc.in" "glm.pc" @ONLY) ++ ++# install pkg-config file ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glm.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++ ++export(PACKAGE glm) ++ ++if(NOT TARGET uninstall) ++ configure_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake ++ IMMEDIATE @ONLY) ++ ++ add_custom_target(uninstall ++ COMMAND ${CMAKE_COMMAND} -P ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) ++endif() +diff -Naur glm/cmake_uninstall.cmake.in glmn/cmake_uninstall.cmake.in +--- glm/cmake_uninstall.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ glmn/cmake_uninstall.cmake.in 2019-09-23 00:12:22.495660449 +0200 +@@ -0,0 +1,26 @@ ++if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") ++ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") ++endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") ++ ++if (NOT DEFINED CMAKE_INSTALL_PREFIX) ++ set (CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") ++endif () ++ message(${CMAKE_INSTALL_PREFIX}) ++ ++file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) ++string(REGEX REPLACE "\n" ";" files "${files}") ++foreach(file ${files}) ++ message(STATUS "Uninstalling $ENV{DESTDIR}${file}") ++ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") ++ exec_program( ++ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" ++ OUTPUT_VARIABLE rm_out ++ RETURN_VALUE rm_retval ++ ) ++ if(NOT "${rm_retval}" STREQUAL 0) ++ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") ++ endif(NOT "${rm_retval}" STREQUAL 0) ++ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") ++ message(STATUS "File $ENV{DESTDIR}${file} does not exist.") ++ endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") ++endforeach(file) -- cgit v1.2.3 From 5192e465ddac7ee712dd7999aa05ad97fac18530 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Sep 2019 23:24:59 +0200 Subject: gnu: xterm: Update to 349. * gnu/packages/xorg.scm (xterm): Update to 349. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 352a28a8b1..e5ff271ae9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5788,7 +5788,7 @@ (define-public xmessage (define-public xterm (package (name "xterm") - (version "335") + (version "349") (source (origin (method url-fetch) (uri (list @@ -5798,7 +5798,7 @@ (define-public xterm name "-" version ".tgz"))) (sha256 (base32 - "15nbgys4s2idhx6jzzc24g9bb1s6yps5fyg2bafvs0gkkcm1ggz0")))) + "0ps7b2b2kbrkv5q49cmb8c51z0w21jmm7hwciw30m6jgfb9s79ir")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" -- cgit v1.2.3 From 757f01fa4dfdbdcd551fa8cc0dc501d7424e8930 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Sep 2019 23:25:04 +0200 Subject: gnu: xterm: Don't use NAME in source URI. * gnu/packages/xorg.scm (xterm)[source]: Hard-code NAME. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e5ff271ae9..48c1e3cebe 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5793,9 +5793,9 @@ (define-public xterm (method url-fetch) (uri (list (string-append "http://invisible-mirror.net/archives/xterm/" - name "-" version ".tgz") + "xterm-" version ".tgz") (string-append "ftp://ftp.invisible-island.net/xterm/" - name "-" version ".tgz"))) + "xterm-" version ".tgz"))) (sha256 (base32 "0ps7b2b2kbrkv5q49cmb8c51z0w21jmm7hwciw30m6jgfb9s79ir")))) -- cgit v1.2.3 From 1e1efbcc64e93b6f6188ecf7abce990a939f8015 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Sep 2019 23:59:42 +0200 Subject: doc: Remove more ‘guixsd’ remnants. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Installing Guix in a VM): Use ‘guix-system.img’ as image file name. --- doc/guix.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 093199c63b..9fcce27597 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2431,7 +2431,7 @@ Create a disk image that will hold the installed system. To make a qcow2-formatted disk image, use the @command{qemu-img} command: @example -qemu-img create -f qcow2 guixsd.img 50G +qemu-img create -f qcow2 guix-system.img 50G @end example The resulting file will be much smaller than 50 GB (typically less than @@ -2444,7 +2444,7 @@ Boot the USB installation image in an VM: qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ -net user -net nic,model=virtio -boot menu=on \ -drive file=guix-system-install-@value{VERSION}.@var{system}.iso \ - -drive file=guixsd.img + -drive file=guix-system.img @end example The ordering of the drives matters. @code{-enable-kvm} is optional, but @@ -2460,7 +2460,7 @@ You're now root in the VM, proceed with the installation process. @end enumerate Once installation is complete, you can boot the system that's on your -@file{guixsd.img} image. @xref{Running Guix in a VM}, for how to do +@file{guix-system.img} image. @xref{Running Guix in a VM}, for how to do that. @node Building the Installation Image -- cgit v1.2.3 From 5d992ed12248e94d6a470146cf60ef577254bed6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:14:57 +0200 Subject: gnu: linux-libre: Update deblobbing scripts. * gnu/packages/linux.scm (deblob-scripts-4.4): Update to version 4.4.194 and update the 'deblob-check' hash. (deblob-scripts-5.2, deblob-scripts-4.19) (deblob-scripts-4.14, deblob-scripts-4.9): Update to versions 5.2.17, 4.19.75, 4.14.146, and 4.9.194 respectively, although the scripts themselves are unchanged. --- gnu/packages/linux.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 95f7d56e41..e8d15822c7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -182,33 +182,33 @@ (define (linux-libre-deblob-scripts version (define deblob-scripts-5.2 (linux-libre-deblob-scripts - "5.2.10" + "5.2.17" (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") (base32 "0d3pp1bqchqc7vnxr1a56km5r0hzjiiipzz2xc3wgjwfi51k9kxc"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.68" + "4.19.75" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.140" + "4.14.146" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.190" + "4.9.194" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.190" + "4.4.194" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") - (base32 "1x40lbiaizksy8z38ax7wpqr9ldgq7qvkxbb0ca98vd1axpklb10"))) + (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") -- cgit v1.2.3 From 9fa18e5dee6e00305c2844ce859d385f381d82dd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:17:59 +0200 Subject: gnu: linux-libre: Update to 5.2.17. * gnu/packages/linux.scm (linux-libre): Update to 5.2.17. --- 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 e8d15822c7..42dff400d2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ (define (%upstream-linux-source version hash) "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.16") +(define-public linux-libre-5.2-version "5.2.17") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "0xg5jnkmc7b552jrhi200ck7q4hql3az2fpjfwxj3ay8xp4n280c"))) + (hash (base32 "1y9d218w83qgd6wima6h6n4zbj1rxz15yb6hdlhv8dm9kv88lfvv"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From fa470524a43287b1498c4b2a9bc0dc6dd14a8773 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:18:11 +0200 Subject: gnu: linux-libre: Update to 4.19.75. * gnu/packages/linux.scm (linux-libre): Update to 4.19.75. --- 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 42dff400d2..f873da5b96 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ (define-public linux-libre-5.2-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.71") +(define-public linux-libre-4.19-version "4.19.75") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1bjwkb7k82l646ryyy0jbwsnygm2qsxgcwli8bdrj844skzynlqz"))) + (hash (base32 "0y0vcmxyfg98mm63vaqq6n2bmxkbmrnvigm5zdh1al74w53p2pnx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From cce20ea6a03386e74b4c6eed887f6fb2f8d54280 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:18:20 +0200 Subject: gnu: linux-libre: Update to 4.14.146. * gnu/packages/linux.scm (linux-libre): Update to 4.14.146. --- 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 f873da5b96..f03ae5ea72 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -366,10 +366,10 @@ (define-public linux-libre-4.19-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.142") +(define-public linux-libre-4.14-version "4.14.146") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1wwhnm1n1b6yzsd2zzzf9i3n4hlvgnph70p67cwahw0ik4ssayz6"))) + (hash (base32 "1x9343pvlxdgx0zbsn12mcfhf6r8d9p57h6l5cw7krm3gs44pid3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From 21d9c5774561be5680acf67e574b7b7ac9093a28 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:18:31 +0200 Subject: gnu: linux-libre: Update to 4.9.194. * gnu/packages/linux.scm (linux-libre): Update to 4.9.194. --- 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 f03ae5ea72..072c51e755 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -374,10 +374,10 @@ (define-public linux-libre-4.14-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.191") +(define-public linux-libre-4.9-version "4.9.194") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1g5p736p8zx5rmxaj56yw93jp768npl868jsn8973dny0rsbim6y"))) + (hash (base32 "1qy20vw5bhnsfbh95sdhjbk6y94js8m4ryd3m7xg2qg4hisvpx6m"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -- cgit v1.2.3 From 0b3daeb05e1b1aa3a58eba22df7336e4b8f3f79a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:18:43 +0200 Subject: gnu: linux-libre: Update to 4.4.194. * gnu/packages/linux.scm (linux-libre): Update to 4.4.194. --- 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 072c51e755..f8ad96e89d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -382,10 +382,10 @@ (define-public linux-libre-4.9-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.191") +(define-public linux-libre-4.4-version "4.4.194") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0x3lnq4xyj5v6r1cz4jizm4vdspws1nb806f5qczwi3yil5nm6bh"))) + (hash (base32 "0kvlp2v4nvkilaanhpgwf8dkyfj24msaw0m38rbc4y51y69yhqvz"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) -- cgit v1.2.3 From 525961cd438c7ed2d763c91c16dfd06a4fc10628 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:35:43 +0200 Subject: gnu: ethtool: Update to 5.3. * gnu/packages/networking.scm (ethtool): Update to 5.3. --- 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 6bdf7f9e2f..c37d07ea41 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -420,14 +420,14 @@ (define-public libndp (define-public ethtool (package (name "ethtool") - (version "4.19") + (version "5.3") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/" "ethtool/ethtool-" version ".tar.xz")) (sha256 (base32 - "1j6hyr809af2m3gqm11hdfwks5kljqy1ikspq3d9rhj29qv6r2mi")))) + "1i14zrg4a84zjpwvqi8an0zx0hm06g614a79zc2syrkhrvdw1npk")))) (build-system gnu-build-system) (home-page "https://www.kernel.org/pub/software/network/ethtool/") (synopsis "Display or change Ethernet device settings") -- cgit v1.2.3 From 88808152d993ea170126ec41905a889227905873 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 02:37:35 +0200 Subject: gnu: qpdf: Update to 9.0.1. * gnu/packages/pdf.scm (qpdf): Update to 9.0.1. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index d45a78222c..7cc6b4e77f 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -668,14 +668,14 @@ (define-public mupdf (define-public qpdf (package (name "qpdf") - (version "8.4.0") + (version "9.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version "/qpdf-" version ".tar.gz")) (sha256 (base32 - "1864p952m8vzxk6v500a42psbqj2g2gyli3d3zj6h33hzwxqy09r")) + "0lhgb82s2402ad2yiswkj227vjlw9zypphdfdivfkbril7dg6495")) (modules '((guix build utils))) (snippet ;; Replace shebang with the bi-lingual shell/Perl trick to remove -- cgit v1.2.3 From e2d69addf6f703f0b04d76988edcd6d5a84cb37b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 03:13:38 +0200 Subject: Revert "gnu: qpdf: Update to 9.0.1." This reverts commit 88808152d993ea170126ec41905a889227905873. It was intended for staging. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7cc6b4e77f..d45a78222c 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -668,14 +668,14 @@ (define-public mupdf (define-public qpdf (package (name "qpdf") - (version "9.0.1") + (version "8.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version "/qpdf-" version ".tar.gz")) (sha256 (base32 - "0lhgb82s2402ad2yiswkj227vjlw9zypphdfdivfkbril7dg6495")) + "1864p952m8vzxk6v500a42psbqj2g2gyli3d3zj6h33hzwxqy09r")) (modules '((guix build utils))) (snippet ;; Replace shebang with the bi-lingual shell/Perl trick to remove -- cgit v1.2.3 From f1afdaf4766fb18911efddb778308b6a306e73d1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 06:55:46 +0200 Subject: gnu: java-dom4j: Update to 2.1.1. * gnu/packages/xml.scm (java-dom4j): Update to 2.1.1. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index c2faa4cbc0..3603bee4b7 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1754,7 +1754,7 @@ (define-public java-xmlpull2 (define-public java-dom4j (package (name "java-dom4j") - (version "2.1.0") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -1763,7 +1763,7 @@ (define-public java-dom4j (file-name (git-file-name name version)) (sha256 (base32 - "1827jljs8mps489fm7xw63cakdqwc5grilrr5n9spr2rlk76jpx3")) + "0q907srj9v4hwicpcrn4slyld5npf2jv7hzchsgrg29q2xmbwkdl")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled jar archives. -- cgit v1.2.3 From 1c6884eeb3dbc20cc61e3e5d55acd0b66f9af374 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 07:06:19 +0200 Subject: gnu: sxhkd: Update to 0.6.1. * gnu/packages/xdisorg.scm (sxhkd): Update to 0.6.1. --- 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 7026c7eb03..690a82ee90 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -810,7 +810,7 @@ (define-public xbindkeys (define-public sxhkd (package (name "sxhkd") - (version "0.6.0") + (version "0.6.1") (source (origin (method git-fetch) @@ -818,7 +818,7 @@ (define-public sxhkd (url "https://github.com/baskerville/sxhkd") (commit version))) (sha256 - (base32 "1cz4vkm7fqd51ly9qjkf5q76kdqdzfhaajgvrs4anz5dyzrdpw68")))) + (base32 "0j7bl2l06r0arrjzpz7al9j6cwzc730knbsijp7ixzz96pq7xa2h")))) (build-system gnu-build-system) (inputs `(("asciidoc" ,asciidoc) -- cgit v1.2.3 From b60ffcee067334b816dc7e83ff9e01f8ec2a368a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 07:17:32 +0200 Subject: gnu: mako: Update to 1.4. * gnu/packages/wm.scm (mako): Update to 1.4. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e19c6c1438..72be0bdbe1 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1436,7 +1436,7 @@ (define-public waybar (define-public mako (package (name "mako") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -1445,7 +1445,7 @@ (define-public mako (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17azdc37xsbmx13fkfp23vg9lznrv9fh6nhagn64wdq3nhsxm3b6")))) + (base32 "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9")))) (build-system meson-build-system) (inputs `(("cairo" ,cairo) ("elogind" ,elogind) -- cgit v1.2.3 From f9447dedc50489f36022c60763868edbd0aa570e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 24 Sep 2019 07:09:14 +0200 Subject: gnu: sxhkd: Sensibly name source checkout. * gnu/packages/xdisorg.scm (sxhkd)[source]: Use GIT-FILE-NAME. --- gnu/packages/xdisorg.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 690a82ee90..066804ed9e 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -817,6 +817,7 @@ (define-public sxhkd (uri (git-reference (url "https://github.com/baskerville/sxhkd") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "0j7bl2l06r0arrjzpz7al9j6cwzc730knbsijp7ixzz96pq7xa2h")))) (build-system gnu-build-system) -- cgit v1.2.3 From 2d25b0c8bad3f0b9c5ccb91f5c4430d8245f4061 Mon Sep 17 00:00:00 2001 From: Brant Gardner Date: Tue, 2 Apr 2019 11:09:45 -0500 Subject: gnu: Add boinc-client and boinc-server. * gnu/packages/distributed.scm (boinc-client, boinc-server): New variable. Signed-off-by: Brian Leung --- gnu/packages/distributed.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 gnu/packages/distributed.scm diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm new file mode 100644 index 0000000000..0eaa1d8b83 --- /dev/null +++ b/gnu/packages/distributed.scm @@ -0,0 +1,95 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Brant Gardner +;;; +;;; 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 distributed) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) + #:use-module (gnu packages curl) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages perl) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz)) + +(define-public boinc-client + (package + (name "boinc-client") + (version "7.16.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/boinc/boinc.git") + (commit (string-append "client_release/" + "7.16/" + version)))) + (sha256 + (base32 + "0w2qimcwyjhapk3z7zyq7jkls23hsnmm35iw7m4s4if04fp70dx0")))) + (build-system gnu-build-system) + (arguments '(#:configure-flags '("--disable-server"))) + (inputs `(("openssl" ,openssl) + ("curl" ,curl) + ("wxwidgets" ,wxwidgets) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("libnotify" ,libnotify) + ("sqlite" ,sqlite) + ("python" ,python) + ("python-pyserial" ,python-pyserial))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (synopsis "BOINC lets you help cutting-edge science research using your computer") + (description "BOINC is a platform for high-throughput computing on a large +scale (thousands or millions of computers). It can be used for volunteer +computing (using consumer devices) or grid computing (using organizational +resources). It supports virtualized, parallel, and GPU-based applications. + +BOINC is distributed under the LGPL open source license. It can be used for +commercial purposes, and applications need not be open source.") + (home-page "https://boinc.berkeley.edu/") + (license license:gpl3+))) + +(define-public boinc-server + (package (inherit boinc-client) + (name "boinc-server") + (arguments '(#:configure-flags '("--disable-client" "--disable-manager") + #:parallel-build? #f + #:tests? #f)) ; FIXME: Looks like bad test syntax in the + ; source package, 2 tests fail. Disable for + ; now. + (inputs `(("openssl" ,openssl) + ("curl" ,curl) + ("mariadb" ,mariadb) + ("zlib" ,zlib))) + (propagated-inputs `(("python" ,python-wrapper) + ("perl" ,perl))))) -- cgit v1.2.3 From 3b98e71a4b8bd549736d8c30f7ddf10928217af3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 24 Sep 2019 10:07:43 +0300 Subject: gnu: Register (gnu packages distributed). This is a follow-up to 2d25b0c8bad3f0b9c5ccb91f5c4430d8245f4061. * gnu/local.mk (GNU_SYSTEM_MODULES): Add (gnu packages distributed). --- gnu/local.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/local.mk b/gnu/local.mk index 043469b716..0e279d8303 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -146,7 +146,8 @@ GNU_SYSTEM_MODULES = \ %D%/packages/diffoscope.scm \ %D%/packages/digest.scm \ %D%/packages/direct-connect.scm \ - %D%/packages/disk.scm \ + %D%/packages/disk.scm \ + %D%/packages/distributed.scm \ %D%/packages/display-managers.scm \ %D%/packages/django.scm \ %D%/packages/djvu.scm \ -- cgit v1.2.3 From 2395d863de36937016d29a008d18f65e32a9594e Mon Sep 17 00:00:00 2001 From: Brett Gilio Date: Wed, 20 Mar 2019 17:02:04 -0500 Subject: gnu: emacs-rust-mode: Update to 0.4.0. * gnu/packages/emacs-xyz.scm (emacs-rust-mode): Update to 0.4.0. Signed-off-by: Brian Leung --- gnu/packages/emacs-xyz.scm | 54 +++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 667a7f5d3c..15fef73d3d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15066,37 +15066,31 @@ (define-public emacs-adoc-mode (license license:gpl2+))) (define-public emacs-rust-mode - (let ((commit - ;; Last release is old (2016), use more recent commit to get bug - ;; fixes. - "64b4a2450e4d4c47f6307851c9b2598cd2254d68") - (revision "0")) - (package - (name "emacs-rust-mode") - (version (git-version "0.3.0" revision commit)) - (source (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/rust-lang/rust-mode") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "sh" "run_rust_emacs_tests.sh")))))) - (home-page "https://github.com/rust-lang/rust-mode") - (synopsis "Major Emacs mode for editing Rust source code") - (description "This package provides a major Emacs mode for editing Rust + (package + (name "emacs-rust-mode") + (version "0.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rust-lang/rust-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "sh" "run_rust_emacs_tests.sh")))))) + (home-page "https://github.com/rust-lang/rust-mode") + (synopsis "Major Emacs mode for editing Rust source code") + (description "This package provides a major Emacs mode for editing Rust source code.") - (license (list license:expat - license:asl2.0))))) + (license (list license:expat + license:asl2.0)))) (define-public emacs-ztree (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94")) -- cgit v1.2.3 From 5c1547383f1d8fca1e46a1a3a17e90b61ece915c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 24 Sep 2019 09:44:49 +0200 Subject: gnu: Add mojoshader. * gnu/packages/gl.scm (mojoshader): New variable. --- gnu/packages/gl.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index a2658a6789..c05ce4e06a 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +53,7 @@ (define-module (gnu packages gl) #:use-module (gnu packages xorg) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) @@ -801,3 +803,56 @@ (define-public virtualgl rendered output interactively to a thin client located elsewhere on the network.") (license license:wxwindows3.1+))) + +(define-public mojoshader + (let ((changeset "5887634ea695")) + (package + (name "mojoshader") + (version changeset) + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.icculus.org/icculus/mojoshader/") + (changeset changeset))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ibl4z1696jiifv9j5drir7jm0b5px0vwkwckbi7cfd46p7p6wcy")))) + (arguments + ;; Tests only for COMPILER_SUPPORT=ON. + `(#:tests? #f + #:configure-flags '("-DBUILD_SHARED=ON") + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (header (string-append out "/include"))) + (install-file "libmojoshader.so" lib) + (for-each (lambda (f) + (install-file f header)) + (find-files "../source" "mojoshader.*\\.h$")) + (let ((profiles-header (string-append header "/profiles"))) + (mkdir-p profiles-header) + (rename-file (string-append header "/mojoshader_profile.h") + (string-append profiles-header "/mojoshader_profile.h")))) + #t))))) + (build-system cmake-build-system) + (home-page "https://www.icculus.org/mojoshader/") + (synopsis "Work with Direct3D shaders on alternate 3D APIs") + (description "MojoShader is a library to work with Direct3D shaders on +alternate 3D APIs and non-Windows platforms. The primary motivation is moving +shaders to OpenGL languages on the fly. The developer deals with \"profiles\" +that represent various target languages, such as GLSL or ARB_*_program. + +This allows a developer to manage one set of shaders, presumably written in +Direct3D HLSL, and use them across multiple rendering backends. This also +means that the developer only has to worry about one (offline) compiler to +manage program complexity, while MojoShader itself deals with the reduced +complexity of the bytecode at runtime. + +MojoShader provides both a simple API to convert bytecode to various profiles, +and (optionally) basic glue to rendering APIs to abstract the management of +the shaders at runtime.") + (license license:zlib)))) -- cgit v1.2.3 From 61522fd967c6d7cc9ecbc916db538b887e78dd72 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 09:59:00 +0200 Subject: gnu: emacs-rainbow-delimiters: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-rainbow-delimiters): Enable tests. [source] Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 15fef73d3d..1a639491ef 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6184,16 +6184,21 @@ (define-public emacs-rainbow-delimiters (name "emacs-rainbow-delimiters") (version "2.1.3") (source (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/Fanael" - "/rainbow-delimiters/" version - "/rainbow-delimiters.el")) - (file-name (string-append "rainbow-delimiters-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fanael/rainbow-delimiters.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck")))) + "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/rainbow-delimiters") + (arguments + `(#:tests? #t + #:test-command '("emacs" "-Q" "-batch" + "-l" "rainbow-delimiters-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (synopsis "Highlight brackets according to their depth") (description "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which -- cgit v1.2.3 From d9de8fbbab2143e6d576ed379e0b35c6d1955714 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 24 Sep 2019 10:23:52 +0200 Subject: gnu: asymptote: Update to 2.53. * gnu/packages/plotutils.scm (asymptote): Update to 2.53. --- gnu/packages/plotutils.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 88bc6b3dc6..43bed8c315 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -180,14 +180,14 @@ (define-public ploticus (define-public asymptote (package (name "asymptote") - (version "2.49") + (version "2.53") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 (base32 - "1vljhq68gyc2503l9fj76rk1q4a4db9a1sp3fdfagqqmirnmybp5")))) + "0ysj6b3ffifbraflkixh19hmdh3qjij26wyj4z66085qw17v7qkw")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not @@ -199,6 +199,8 @@ (define-public asymptote ("texinfo" ,texinfo) ;For generating documentation ;; For the manual and the tests. ("texlive" ,(texlive-union (list texlive-amsfonts + texlive-epsf + texlive-latex-base texlive-latex-geometry texlive-latex-graphics texlive-latex-oberdiek ; for ifluatex -- cgit v1.2.3 From 09b2ae95c800b8da1ecc9e12f79421302a1bde33 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 11:02:36 +0200 Subject: gnu: emacs-evil-surround: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-evil-surround): Enable tests. --- gnu/packages/emacs-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1a639491ef..ce5ae1ca5a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8931,6 +8931,9 @@ (define-public emacs-evil-surround (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) (home-page "https://github.com/emacs-evil/evil-surround") (synopsis "Easily modify surrounding parentheses and quotes") (description "@code{emacs-evil-surround} allows easy deletion, change and -- cgit v1.2.3 From 85dfecbedc55a450b12a17d98a0fe70e0c193790 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 11:16:42 +0200 Subject: gnu: emacs-stream: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-stream): Enable tests. --- gnu/packages/emacs-xyz.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ce5ae1ca5a..92c91a0537 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7457,15 +7457,22 @@ (define-public emacs-stream (package (name "emacs-stream") (version "2.2.0") - (home-page "https://github.com/NicolasPetton/stream") (source (origin - (method url-fetch) - (file-name (string-append name "-" version ".tar.gz")) - (uri (string-append home-page "/archive/"version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/NicolasPetton/stream.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc")))) + (base32 "10x481lmkcmjrmdnlbqvys2b3525npn4a84j6g404pv4sfwlj6ab")))) (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "test/stream-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/NicolasPetton/stream") (synopsis "Implementation of streams for Emacs") (description "This library provides an implementation of streams for Emacs. Streams are implemented as delayed evaluation of cons cells.") -- cgit v1.2.3 From 3429f5d923300675a8ffa28b2d4cb1bd66ae452e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 24 Sep 2019 11:27:31 +0200 Subject: gnu: mojoshader: Broaden feature support (viewport flipping and depth clipping). * gnu/packages/gl.scm (mojoshader)[arguments]: Build with FLIP_VIEWPORT and DEPTH_CLIPPING. --- gnu/packages/gl.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index c05ce4e06a..c02d88694c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -808,7 +808,7 @@ (define-public mojoshader (let ((changeset "5887634ea695")) (package (name "mojoshader") - (version changeset) + (version (string-append "20190825" "-" changeset)) (source (origin (method hg-fetch) @@ -821,7 +821,9 @@ (define-public mojoshader (arguments ;; Tests only for COMPILER_SUPPORT=ON. `(#:tests? #f - #:configure-flags '("-DBUILD_SHARED=ON") + #:configure-flags '("-DBUILD_SHARED=ON" + "-DFLIP_VIEWPORT=ON" + "-DDEPTH_CLIPPING=ON") #:phases (modify-phases %standard-phases (replace 'install -- cgit v1.2.3 From b150e83bef766ca67a3931afce36b6cb6c7f8c10 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 24 Sep 2019 11:32:45 +0200 Subject: gnu: Add mojoshader-with-viewport-flip. * gnu/packages/gl.scm (mojoshader-with-viewport-flip): New variable. --- gnu/packages/gl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index c02d88694c..bfa80b1e13 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -858,3 +858,26 @@ (define-public mojoshader and (optionally) basic glue to rendering APIs to abstract the management of the shaders at runtime.") (license license:zlib)))) + +(define-public mojoshader-with-viewport-flip + ;; Changeset c586d4590241 replaced glProgramViewportFlip with + ;; glProgramViewportInfo. + ;; https://hg.icculus.org/icculus/mojoshader/rev/c586d4590241 + (let ((changeset "2e37299b13d8")) + (package + (inherit mojoshader) + (name "mojoshader-with-viewport-flip") + (version (string-append "20190725" "-" changeset)) + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.icculus.org/icculus/mojoshader/") + (changeset changeset))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ffws7cqbskxwc3hjsnnzq4r2bbf008kdr3b11pa3kr7dsi50y6i")))) + (synopsis "Work with Direct3D shaders on alternate 3D APIs (with viewport flip)") + (description "This is the last version of the mojoshader library with +the glProgramViewportFlip before it was replaced with glProgramViewportInfo.") + (license license:zlib)))) -- cgit v1.2.3 From 24f7bac02a70257a7cd1bb2e1ec35d7cc753057e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 24 Sep 2019 19:18:58 +0200 Subject: gnu: openscenegraph: Update to 3.6.4 and build JPEG plugin. * gnu/packages/graphics.scm (openscenegraph): Update to 3.6.4. [inputs]: Add libjpeg. --- gnu/packages/graphics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index cd33ea2800..d4e9adb84a 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Carlo Zancanaro ;;; Copyright © 2019 Steve Sprang ;;; Copyright © 2019 John Soo +;;; Copyright © 2019 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -510,7 +511,7 @@ (define-public openimageio-1.7 (define-public openscenegraph (package (name "openscenegraph") - (version "3.6.3") + (version "3.6.4") (source (origin (method git-fetch) @@ -519,7 +520,7 @@ (define-public openscenegraph (commit (string-append "OpenSceneGraph-" version)))) (sha256 (base32 - "0h32z15sa8sbq276j0iib0n707m8bs4p5ji9z2ah411446paad9q")) + "0x8hdbzw0b71j91fzp9cwmy9a7ava8v8wwyj8nxijq942vdx1785")) (file-name (git-file-name name version)))) (properties `((upstream-name . "OpenSceneGraph"))) @@ -538,6 +539,7 @@ (define-public openscenegraph ("unzip" ,unzip))) (inputs `(("giflib" ,giflib) + ("libjpeg" ,libjpeg) ; Required for the JPEG texture plugin. ("jasper" ,jasper) ("librsvg" ,librsvg) ("libxrandr" ,libxrandr) -- cgit v1.2.3 From f95ec65be394538c9ec848e502a37f1c3ec21157 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 24 Sep 2019 19:21:59 +0200 Subject: gnu: openmw: Use OpenMW's fork of openscenegraph. * gnu/packages/game-development.scm (openmw)[inputs]: Replace openscenegraph with openmw-openscenegraph. --- gnu/packages/game-development.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index bb4c1d26bb..ee9e63ea29 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1109,6 +1109,40 @@ (define-public mygui-gl '("ogre")))) (synopsis "Fast, flexible and simple GUI (OpenGL backend)"))) +(define openmw-openscenegraph + ;; OpenMW prefers its own fork of openscenegraph: + ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph. + (let ((commit "36a962845a2c87a6671fd822157e0729d164e940")) + (package + (inherit openscenegraph) + (version (git-version "3.6" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenMW/osg/") + (commit commit))) + (file-name (git-file-name (package-name openscenegraph) version)) + (sha256 + (base32 + "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia")))) + (arguments + (substitute-keyword-arguments (package-arguments openscenegraph) + ((#:configure-flags flags) + ;; As per the above wiki link, the following plugins are enough: + `(append + '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" + "-DBUILD_OSG_PLUGIN_OSG=1" + "-DBUILD_OSG_PLUGIN_DDS=1" + "-DBUILD_OSG_PLUGIN_TGA=1" + "-DBUILD_OSG_PLUGIN_BMP=1" + "-DBUILD_OSG_PLUGIN_JPEG=1" + "-DBUILD_OSG_PLUGIN_PNG=1" + "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" + ;; The jpeg plugin requires conversion between integers and booleans + "-DCMAKE_CXX_FLAGS=-fpermissive") + ,flags))))))) + (define-public openmw (package (name "openmw") @@ -1137,7 +1171,7 @@ (define-public openmw ("libxt" ,libxt) ("mygui" ,mygui-gl) ; OpenMW does not need Ogre. ("openal" ,openal) - ("openscenegraph" ,openscenegraph) + ("openscenegraph" ,openmw-openscenegraph) ("qtbase" ,qtbase) ("sdl" ,sdl2) ("unshield" ,unshield))) -- cgit v1.2.3 From 987d7b1c67c7fa38582802c5b0bbc1eda83df838 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 18:49:18 +0200 Subject: gnu: emacs-markdown-mode: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-markdown-mode)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 92c91a0537..54cdbc084f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5822,14 +5822,14 @@ (define-public emacs-markdown-mode (name "emacs-markdown-mode") (version "2.3") (source (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/jrblevin" - "/markdown-mode/v" version - "/markdown-mode.el")) - (file-name (string-append "markdown-mode-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jrblevin/markdown-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi")))) + "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7")))) (build-system emacs-build-system) (home-page "http://jblevins.org/projects/markdown-mode/") (synopsis "Emacs Major mode for Markdown files") -- cgit v1.2.3 From 3e7518b35c86875348cc72c154558a0bda302cb0 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 19:52:55 +0200 Subject: gnu: emacs-flycheck: Update to 31-1.0006a59. * gnu/packages/emacs-xyz.scm (emacs-flycheck): Update to 31-1.0006a59. --- gnu/packages/emacs-xyz.scm | 67 +++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 54cdbc084f..58e7f181d5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -771,32 +771,45 @@ (define-public emacs-dante (license license:gpl3+)))) (define-public emacs-flycheck - (package - (name "emacs-flycheck") - (version "31") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/flycheck/flycheck/releases/download/" - version "/flycheck-" version ".tar")) - (sha256 - (base32 - "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240")) - (modules '((guix build utils))) - (snippet `(begin - ;; Change 'flycheck-version' so that it does not - ;; attempt to get its version from pkg-info.el. - (substitute* "flycheck.el" - (("\\(pkg-info-version-info 'flycheck\\)") - (string-append "\"" ,version "\""))) - #t)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-dash" ,emacs-dash))) - (home-page "https://www.flycheck.org") - (synopsis "On-the-fly syntax checking") - (description - "This package provides on-the-fly syntax checking for GNU Emacs. It is a + ;; last release version was more than 300 commits ago + (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea") + (revision "1")) + (package + (name "emacs-flycheck") + (version (git-version "31" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flycheck/flycheck/") + (commit commit))) + (sha256 + (base32 + "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (native-inputs + `(("emacs-shut-up" ,emacs-shut-up))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-flycheck-version + (lambda _ + (substitute* "flycheck.el" + (("\\(pkg-info-version-info 'flycheck\\)") + (string-append "\"" ,version "\""))) + #t))) + ;; TODO: many failing tests + #:tests? #f + #:test-command '("emacs" "-Q" "--batch" "-L" "." + "--load" "test/flycheck-test" + "--load" "test/run.el" + "-f" "flycheck-run-tests-main"))) + (home-page "https://www.flycheck.org") + (synopsis "On-the-fly syntax checking") + (description + "This package provides on-the-fly syntax checking for GNU Emacs. It is a replacement for the older Flymake extension which is part of GNU Emacs, with many improvements and additional features. @@ -804,7 +817,7 @@ (define-public emacs-flycheck checking for over 30 programming and markup languages with more than 70 different tools. It highlights errors and warnings inline in the buffer, and provides an optional IDE-like error list.") - (license license:gpl3+))) ;+GFDLv1.3+ for the manual + (license license:gpl3+)))) ;+GFDLv1.3+ for the manual (define-public emacs-a (package -- cgit v1.2.3 From 2ac02060609cde61f44d0ad1bebdec9859c5df70 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Sep 2019 13:48:58 +0200 Subject: gnu: keepalived: Fix documentation generation. * gnu/packages/cluster.scm (keepalived)[arguments]: Copy software_design.png from the correct place. --- gnu/packages/cluster.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index 8b99a21356..c4a26e9faa 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -52,7 +52,7 @@ (define-public keepalived (lambda _ (invoke "make" "-C" "doc" "texinfo") ;; Put images in a subdirectory as recommended by 'texinfo'. - (install-file "doc/build/texinfo/software_design.png" + (install-file "doc/source/images/software_design.png" "doc/build/texinfo/keepalived-figures") (substitute* "doc/build/texinfo/keepalived.texi" (("@image\\{software_design,") @@ -63,7 +63,7 @@ (define-public keepalived (let* ((out (assoc-ref outputs "out")) (infodir (string-append out "/share/info"))) (install-file "doc/build/texinfo/keepalived.info" infodir) - (install-file "doc/build/texinfo/software_design.png" + (install-file "doc/source/images/software_design.png" (string-append infodir "/keepalived-figures")) #t)))))) (native-inputs -- cgit v1.2.3 From ce6db0fa7ce76cc05480ede1cc3789c55848efbd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Sep 2019 13:50:04 +0200 Subject: gnu: keepalived: Update to 2.0.18. * gnu/packages/cluster.scm (keepalived): Update to 2.0.18. --- gnu/packages/cluster.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index c4a26e9faa..177017c260 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -35,7 +35,7 @@ (define-module (gnu packages cluster) (define-public keepalived (package (name "keepalived") - (version "2.0.5") + (version "2.0.18") (source (origin (method url-fetch) (uri (string-append @@ -43,7 +43,7 @@ (define-public keepalived version ".tar.gz")) (sha256 (base32 - "021a7c1lq4aqx7dbwhlm5km6w039hapfzp5hf6wb5bfq79s25g38")))) + "1l2g0bzzbah9svfpwa0b9dgvwfv85r2y3qdr54822hg5p2qs48ql")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From d1bfad2f0d4306abc02f2bf713a9cc3d2d96d5d6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Sep 2019 17:39:35 +0200 Subject: gnu: keepalived: Update home page. * gnu/packages/cluster.scm (keepalived)[home-page]: Use HTTPS. --- gnu/packages/cluster.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index 177017c260..9548352d12 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -74,7 +74,7 @@ (define-public keepalived `(("openssl" ,openssl) ("libnfnetlink" ,libnfnetlink) ("libnl" ,libnl))) - (home-page "http://www.keepalived.org/") + (home-page "https://www.keepalived.org/") (synopsis "Load balancing and high-availability frameworks") (description "Keepalived provides frameworks for both load balancing and high -- cgit v1.2.3 From 864b7f0bc18b925d1b54c0a673e2ff5401092ada Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 12 Sep 2019 16:56:25 +0200 Subject: gnu: fmt: Update to 6.0.0. * gnu/packages/pretty-print.scm (fmt): Update to 6.0.0. --- gnu/packages/pretty-print.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 7a5b98c698..fe69af84c4 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -164,7 +164,7 @@ (define-public enscript (define-public fmt (package (name "fmt") - (version "5.3.0") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append @@ -172,7 +172,7 @@ (define-public fmt version "/fmt-" version ".zip")) (sha256 (base32 - "0p51nhmvjniqlffmmb9djhprnclvm448f2vkdxymvxw307hl21sc")))) + "0h148anbaqgch6n69pxsvs1c9wmykgd052wmzgdia7qpz8w6p8dl")))) (build-system cmake-build-system) (native-inputs `(("unzip" ,unzip))) -- cgit v1.2.3 From b174cc4be3d6d5c30a17c93b3f41a18dd14924aa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 16:45:19 +0200 Subject: gnu: openvswitch: Update to 2.12.0. * gnu/packages/networking.scm (openvswitch): Update to 2.12.0. --- 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 c37d07ea41..11c9c6a37f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1586,7 +1586,7 @@ (define-public nzbget (define-public openvswitch (package (name "openvswitch") - (version "2.11.1") + (version "2.12.0") (source (origin (method url-fetch) (uri (string-append @@ -1594,7 +1594,7 @@ (define-public openvswitch version ".tar.gz")) (sha256 (base32 - "1p5mv44jaslvrr1ym15smqna19y0gi4vqcsyj58625vv9bj6laf1")))) + "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k")))) (build-system gnu-build-system) (arguments '(;; FIXME: many tests fail with: -- cgit v1.2.3 From 3e41d7070df80edd3fd9fc66f9a4ff5cb646cbc3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 16:45:58 +0200 Subject: gnu: re2: Update to 2019-09-01. * gnu/packages/regex.scm (re2): Update to 2019-09-01. --- gnu/packages/regex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index ad01814318..7582502069 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -30,7 +30,7 @@ (define-module (gnu packages regex) (define-public re2 (package (name "re2") - (version "2019-08-01") + (version "2019-09-01") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (define-public re2 (file-name (git-file-name name version)) (sha256 (base32 - "11w9x16y26nfgliis28ivrh9b1x6pxawdwxfwxfjh34h57c0dkzg")))) + "1a0m3p0nx7vz2sgryrsjnbiwkjpj98swjb29r0w5lsv3f92dqyn4")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) -- cgit v1.2.3 From 6bdf8af5e680c719304c2f1c1a4948099b446906 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 16:46:26 +0200 Subject: gnu: ffmpeg: Update to 4.2.1. * gnu/packages/video.scm (ffmpeg): Update to 4.2.1. --- 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 aaba2fb3f7..d5a51a00b0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -799,14 +799,14 @@ (define-public libva-utils (define-public ffmpeg (package (name "ffmpeg") - (version "4.2") + (version "4.2.1") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1mgcxm7sqkajx35px05szsmn9mawwm03cfpmk3br7bcp3a1i0gq2")))) + "1m5nkc61ihgcf0b2wabm0zyqa8sj3c0w8fi6kr879lb0kdzciiyf")))) (build-system gnu-build-system) (inputs `(("dav1d" ,dav1d) -- cgit v1.2.3 From d8fbfbf52363333b5f925a52edc4e5bbc85c45de Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 16:46:50 +0200 Subject: gnu: varnish: Update to 6.3.0. * gnu/packages/web.scm (varnish): Update to 6.3.0. [arguments]: Patch /bin/sh in one more file. --- gnu/packages/web.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index d25f04901a..4509f63f1b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4968,13 +4968,13 @@ (define-public varnish (package (name "varnish") (home-page "https://varnish-cache.org/") - (version "6.2.1") + (version "6.3.0") (source (origin (method url-fetch) (uri (string-append home-page "_downloads/varnish-" version ".tgz")) (sha256 (base32 - "15qfvw3fp05bgyspcm6gbsnxhs430p4z3fwz5kkd1z68jb90b3pj")))) + "0zwlffdd1m0ih33nq40xf2wwdyvr4czmns2fs90qpfnwy72xxk4m")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") @@ -4989,7 +4989,8 @@ (define-public varnish (lambda _ (substitute* '("bin/varnishtest/vtc_varnish.c" "bin/varnishtest/vtc_process.c" - "bin/varnishd/mgt/mgt_vcc.c") + "bin/varnishd/mgt/mgt_vcc.c" + "bin/varnishtest/tests/u00014.vtc") (("/bin/sh") (which "sh"))) (substitute* "bin/varnishd/mgt/mgt_shmem.c" (("rm -rf") (string-append (which "rm") " -rf"))) -- cgit v1.2.3 From 942c7889498fc8e680a16d500e166c9ade84e640 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 17:15:50 +0200 Subject: gnu: OpenEXR: Update to 2.4.0 [fixes CVE-2018-18443, CVE-2018-18444]. * gnu/packages/patches/ilmbase-fix-tests.patch: Adjust for new origin. * gnu/packages/patches/ilmbase-openexr-pkg-config.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/graphics.scm (ilmbase): Update to 2.4.0. [source]: Change to GIT-FETCH, as tarballs are no longer provided. Add new patch. [build-system]: Change to CMAKE-BUILD-SYSTEM. [arguments]: Add phase to enter the correct source directory. * gnu/packages/graphics.scm (openexr): Update to 2.4.0. [source]: Inherit from ILMBASE, which comes from the same repository. [build-system]: Change to CMAKE-BUILD-SYSTEM. [arguments]: Add phase to enter the correct source directory. * gnu/packages/gstreamer.scm (gst-plugins-bad)[arguments]: Enable C++11. * gnu/packages/image-processing.scm (opencv)[arguments]: Likewise. --- gnu/local.mk | 1 + gnu/packages/graphics.scm | 46 +++++++++++++--------- gnu/packages/gstreamer.scm | 5 +++ gnu/packages/image-processing.scm | 4 ++ gnu/packages/patches/ilmbase-fix-tests.patch | 12 ++---- .../patches/ilmbase-openexr-pkg-config.patch | 40 +++++++++++++++++++ 6 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 gnu/packages/patches/ilmbase-openexr-pkg-config.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0e279d8303..bf0f9de26e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -962,6 +962,7 @@ dist_patch_DATA = \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/idris-test-no-node.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ + %D%/packages/patches/ilmbase-openexr-pkg-config.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index d4e9adb84a..795e750cb5 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2019 Steve Sprang ;;; Copyright © 2019 John Soo ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -327,17 +328,25 @@ (define-public cgal (define-public ilmbase (package (name "ilmbase") - (version "2.3.0") + (version "2.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/openexr/openexr/releases" - "/download/v" version "/ilmbase-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/openexr/openexr") + (commit (string-append "v" version)))) + (file-name (git-file-name "ilmbase" version)) (sha256 (base32 - "0qiq5bqq9rxhqjiym2k36sx4vq8adgrz6xf6qwizi9bqm78phsa5")) - (patches (search-patches "ilmbase-fix-tests.patch")))) - (build-system gnu-build-system) + "0g3rz11cvb7gnphp2np9z7bfl7v4dprq4w5hnsvx7yrasgsdyn8s")) + (patches (search-patches "ilmbase-fix-tests.patch" + "ilmbase-openexr-pkg-config.patch")))) + (build-system cmake-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "IlmBase") + #t))))) (home-page "http://www.openexr.com/") (synopsis "Utility C++ libraries for threads, maths, and exceptions") (description @@ -409,27 +418,26 @@ (define-public ogre (define-public openexr (package (name "openexr") - (version "2.3.0") + (version (package-version ilmbase)) (source (origin - (method url-fetch) - (uri (string-append "https://github.com/openexr/openexr/releases" - "/download/v" version "/openexr-" - version ".tar.gz")) - (sha256 - (base32 - "19jywbs9qjvsbkvlvzayzi81s976k53wg53vw4xj66lcgylb6v7x")) + (inherit (package-source ilmbase)) + (file-name (git-file-name "openexr" version)) (modules '((guix build utils))) (snippet '(begin - (substitute* (find-files "." "tmpDir\\.h") + (substitute* (find-files "OpenEXR" "tmpDir\\.h") (("\"/var/tmp/\"") "\"/tmp/\"")) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-broken-test + (add-after 'unpack 'change-directory + (lambda _ + (chdir "OpenEXR") + #t)) + (add-after 'change-directory 'disable-broken-test ;; This test fails on i686. Upstream developers suggest that ;; this test is broken on i686 and can be safely disabled: ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748 diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 13c2c2fc27..8b81cc91a0 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -286,6 +286,11 @@ (define-public gst-plugins-bad (build-system gnu-build-system) (arguments '(#:tests? #f ; XXX: 13 of 53 tests fail + + ;; FIXME: OpenEXR 2.4.0 requires C++ 11 or later. Remove when the + ;; default compiler is >= GCC 5. + #:make-flags '("CXXFLAGS=-std=gnu++11") + #:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index b3972a2b76..460f35dbae 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -269,6 +269,10 @@ (define-public opencv "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64 "-DENABLE_PRECOMPILED_HEADERS=OFF" + ;; FIXME: OpenEXR requires C++11 or later. Remove this when + ;; the default compiler is GCC 7. + "-DCMAKE_CXX_FLAGS=-std=gnu++11" + ;; CPU-Features: ;; See cmake/OpenCVCompilerOptimizations.cmake ;; (CPU_ALL_OPTIMIZATIONS) for a list of all optimizations diff --git a/gnu/packages/patches/ilmbase-fix-tests.patch b/gnu/packages/patches/ilmbase-fix-tests.patch index fcaa37d201..34d3a180c4 100644 --- a/gnu/packages/patches/ilmbase-fix-tests.patch +++ b/gnu/packages/patches/ilmbase-fix-tests.patch @@ -22,10 +22,8 @@ Date: Wed, 24 Feb 2016 01:04:11 +0000 Also fix a pre-existing typo. -Index: ilmbase/ImathTest/testBoxAlgo.cpp -=================================================================== ---- ilmbase.orig/ImathTest/testBoxAlgo.cpp -+++ ilmbase/ImathTest/testBoxAlgo.cpp +--- a/IlmBase/ImathTest/testBoxAlgo.cpp ++++ b/IlmBase/ImathTest/testBoxAlgo.cpp @@ -886,10 +886,11 @@ boxMatrixTransform () assert (approximatelyEqual (b2.min, b4.min, e)); @@ -54,10 +52,8 @@ On 32-bit x86, allow even greater discrepency at double precision, due to possible double-rounding. See https://lists.nongnu.org/archive/html/openexr-devel/2015-12/msg00001.html -Index: ilmbase/ImathTest/testBox.cpp -=================================================================== ---- ilmbase.orig/ImathTest/testBox.cpp -+++ ilmbase/ImathTest/testBox.cpp +--- a/IlmBase/ImathTest/testBox.cpp ++++ b/IlmBase/ImathTest/testBox.cpp @@ -47,6 +47,58 @@ using namespace IMATH_INTERNAL_NAMESPACE namespace { diff --git a/gnu/packages/patches/ilmbase-openexr-pkg-config.patch b/gnu/packages/patches/ilmbase-openexr-pkg-config.patch new file mode 100644 index 0000000000..99613080d8 --- /dev/null +++ b/gnu/packages/patches/ilmbase-openexr-pkg-config.patch @@ -0,0 +1,40 @@ +Fix pkg-config files when using the CMake build system. + +Upstream bug report: +https://github.com/openexr/openexr/issues/567 + +diff --git a/IlmBase/config/CMakeLists.txt b/IlmBase/config/CMakeLists.txt +index 508176a..9e6ab91 100644 +--- a/IlmBase/config/CMakeLists.txt ++++ b/IlmBase/config/CMakeLists.txt +@@ -71,9 +71,9 @@ if(ILMBASE_INSTALL_PKG_CONFIG) + # use a helper function to avoid variable pollution, but pretty simple + function(ilmbase_pkg_config_help pcinfile) + set(prefix ${CMAKE_INSTALL_PREFIX}) +- set(exec_prefix ${CMAKE_INSTALL_BINDIR}) +- set(libdir ${CMAKE_INSTALL_LIBDIR}) +- set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) ++ set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR}) ++ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) ++ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) + set(LIB_SUFFIX_DASH ${ILMBASE_LIB_SUFFIX}) + if(TARGET Threads::Threads) + # hrm, can't use properties as they end up as generator expressions +diff --git a/OpenEXR/config/CMakeLists.txt b/OpenEXR/config/CMakeLists.txt +index 1ef829a..b8dc141 100644 +--- a/OpenEXR/config/CMakeLists.txt ++++ b/OpenEXR/config/CMakeLists.txt +@@ -72,9 +72,9 @@ if(OPENEXR_INSTALL_PKG_CONFIG) + # use a helper function to avoid variable pollution, but pretty simple + function(openexr_pkg_config_help pcinfile) + set(prefix ${CMAKE_INSTALL_PREFIX}) +- set(exec_prefix ${CMAKE_INSTALL_BINDIR}) +- set(libdir ${CMAKE_INSTALL_LIBDIR}) +- set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) ++ set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR}) ++ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) ++ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) + set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}) + if(TARGET Threads::Threads) + # hrm, can't use properties as they end up as generator expressions + -- cgit v1.2.3 From 25c4a04fded1bc129df6af5fa563771194ebd7a1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 17:17:04 +0200 Subject: gnu: OpenEXR: Update home page. * gnu/packages/graphics.scm (ilmbase, openexr)[home-page]: Use HTTPS. --- gnu/packages/graphics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 795e750cb5..8d04e95937 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -347,7 +347,7 @@ (define-public ilmbase (lambda _ (chdir "IlmBase") #t))))) - (home-page "http://www.openexr.com/") + (home-page "https://www.openexr.com/") (synopsis "Utility C++ libraries for threads, maths, and exceptions") (description "IlmBase provides several utility libraries for C++. Half is a class @@ -453,7 +453,7 @@ (define-public openexr (propagated-inputs `(("ilmbase" ,ilmbase) ;used in public headers ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" - (home-page "http://www.openexr.com") + (home-page "https://www.openexr.com/") (synopsis "High-dynamic range file format library") (description "OpenEXR is a high dynamic-range (HDR) image file format developed for -- cgit v1.2.3 From aa0e28bc73487f2298b494ab077526ba448a1c57 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Sep 2019 17:25:00 +0200 Subject: gnu: p11-kit: Update to 0.23.17. * gnu/packages/patches/p11-kit-jks-timestamps.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/tls.scm (p11-kit): Update to 0.23.17. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/patches/p11-kit-jks-timestamps.patch | 42 ----------------------- gnu/packages/tls.scm | 5 ++- 3 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/p11-kit-jks-timestamps.patch diff --git a/gnu/local.mk b/gnu/local.mk index bf0f9de26e..840ef22bdb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1176,7 +1176,6 @@ dist_patch_DATA = \ %D%/packages/patches/osip-CVE-2017-7853.patch \ %D%/packages/patches/ots-no-include-missing-file.patch \ %D%/packages/patches/owncloud-disable-updatecheck.patch \ - %D%/packages/patches/p11-kit-jks-timestamps.patch \ %D%/packages/patches/p7zip-CVE-2016-9296.patch \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ diff --git a/gnu/packages/patches/p11-kit-jks-timestamps.patch b/gnu/packages/patches/p11-kit-jks-timestamps.patch deleted file mode 100644 index 8cb8ed8684..0000000000 --- a/gnu/packages/patches/p11-kit-jks-timestamps.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix test failures induced by setting the SOURCE_DATE_EPOCH variable. - -Taken from upstream: . - -From 2a474e1fe8f4bd8b4ed7622e5cf3b2718a202562 Mon Sep 17 00:00:00 2001 -From: Daiki Ueno -Date: Mon, 28 Jan 2019 13:03:15 +0100 -Subject: [PATCH] extract-jks: Prefer _p11_extract_jks_timestamp to - SOURCE_DATE_EPOCH - -Give _p11_extract_jks_timestamp precedence over SOURCE_DATE_EPOCH so -that the test results are not affected by the envvar settings. ---- - trust/extract-jks.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/trust/extract-jks.c b/trust/extract-jks.c -index ad8dc35..a6f855f 100644 ---- a/trust/extract-jks.c -+++ b/trust/extract-jks.c -@@ -250,7 +250,9 @@ prepare_jks_buffer (p11_enumerate *ex, - * when this was this certificate was added to the keystore, however - * we don't have that information. Java uses time in milliseconds - */ -- { -+ if (_p11_extract_jks_timestamp) -+ now = _p11_extract_jks_timestamp; -+ else { - char *source_date_epoch; - source_date_epoch = secure_getenv ("SOURCE_DATE_EPOCH"); - if (source_date_epoch) { -@@ -276,9 +278,7 @@ prepare_jks_buffer (p11_enumerate *ex, - return false; - } - now = epoch; -- } else if (_p11_extract_jks_timestamp) -- now = _p11_extract_jks_timestamp; -- else -+ } else - now = time (NULL); - } - diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 45ec4f796b..c06052239f 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -122,16 +122,15 @@ (define-public asn1c (define-public p11-kit (package (name "p11-kit") - (version "0.23.15") + (version "0.23.17") (source (origin (method url-fetch) (uri (string-append "https://github.com/p11-glue/p11-kit/releases/" "download/" version "/p11-kit-" version ".tar.gz")) - (patches (search-patches "p11-kit-jks-timestamps.patch")) (sha256 (base32 - "166pwj00cffv4qq4dvx0k53zka0b0r1fa0whc49007vsqyh3khgp")))) + "07kwdlw07jk9833k43kkhv0q9gkll3vmd25wwp68cpy0crfv4isl")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From e4cf01c003f070ac494f6ac5d65a04a1c755ac6b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 20:31:32 +0200 Subject: gnu: emacs-stream: Update to 2.2.4-1.a3f3da1. * gnu/packages/emacs-xyz.scm (emacs-stream): Update to 2.2.4-1.a3f3da1. --- gnu/packages/emacs-xyz.scm | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 58e7f181d5..1869345dca 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7467,29 +7467,31 @@ (define-public emacs-nginx-mode (license license:gpl2+))) (define-public emacs-stream - (package - (name "emacs-stream") - (version "2.2.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/NicolasPetton/stream.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "10x481lmkcmjrmdnlbqvys2b3525npn4a84j6g404pv4sfwlj6ab")))) - (build-system emacs-build-system) - (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "test/stream-tests.el" - "-f" "ert-run-tests-batch-and-exit"))) - (home-page "https://github.com/NicolasPetton/stream") - (synopsis "Implementation of streams for Emacs") - (description "This library provides an implementation of streams for Emacs. + (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7") + (revision "1")) + (package + (name "emacs-stream") + (version (git-version "2.2.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Emacsmirror/stream.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "tests/stream-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/Emacsmirror/stream") + (synopsis "Implementation of streams for Emacs") + (description "This library provides an implementation of streams for Emacs. Streams are implemented as delayed evaluation of cons cells.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-el-search (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4") -- cgit v1.2.3 From 3aeef226ac528b657f896c0fb8e4d03437433903 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 20:11:33 +0200 Subject: gnu: Add emacs-cl-print. * gnu/packages/emacs-xyz.scm (emacs-cl-print): New variable. --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1869345dca..403ea749a8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7493,6 +7493,29 @@ (define-public emacs-stream Streams are implemented as delayed evaluation of cons cells.") (license license:gpl3+)))) +(define-public emacs-cl-print + (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991") + (revision "1")) + (package + (name "emacs-cl-print") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsmirror/cl-print.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsmirror/cl-print") + (synopsis "CL-style generic printing") + (description "This package provides a generic function, +@code{cl-print-object}, to which the programmer can add any method they +please.") + (license license:gpl3+)))) + (define-public emacs-el-search (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4") (revision "1")) -- cgit v1.2.3 From 1cfe711ac0d777c958acc3cdfdbe779ce678ff0b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 20:17:14 +0200 Subject: gnu: emacs-el-search: Update to 1.12.6.1-2.07bed84. * gnu/packages/emacs-xyz.scm (emacs-el-search): Update to 1.12.6.1-2.07bed84. --- gnu/packages/emacs-xyz.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 403ea749a8..c28d094bcc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7517,24 +7517,25 @@ (define-public emacs-cl-print (license license:gpl3+)))) (define-public emacs-el-search - (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4") - (revision "1")) + (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0") + (revision "2")) (package (name "emacs-el-search") - ;; No ufficial release. - (version (string-append "0.0-" revision "." (string-take commit 7))) - (home-page "https://github.com/emacsmirror/el-search") + (version (git-version "1.12.6.1" revision commit)) (source (origin (method git-fetch) - (file-name (string-append name "-" version ".tar.gz")) (uri (git-reference - (commit commit) - (url (string-append home-page ".git")))) + (url "https://github.com/emacsmirror/el-search.git") + (commit commit))) + (file-name (git-file-name name version)) (sha256 - (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6")))) + (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak")))) (build-system emacs-build-system) - (inputs `(("emacs-stream" ,emacs-stream))) + (inputs + `(("emacs-stream" ,emacs-stream) + ("emacs-cl-print" ,emacs-cl-print))) + (home-page "https://github.com/emacsmirror/el-search") (synopsis "Expression based interactive search for emacs-lisp-mode") (description "This package provides expression based interactive search procedures for emacs-lisp-mode.") -- cgit v1.2.3 From 84a0c6ff63afc296c1bc5873f783693dccc5ded2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 24 Sep 2019 23:51:48 +0200 Subject: gnu: Move openmw-openscenegraph to graphics.scm. Package inheritance across modules may cause unbound variable errors at expansion time because of cyclic dependencies between the modules. * gnu/packages/game-development.scm (openmw-openscenegraph): Move from here ... * gnu/packages/graphics.scm (openmw-openscenegraph): ... to here. Make the variable public and "hide" the package. --- gnu/packages/game-development.scm | 34 ---------------------------------- gnu/packages/graphics.scm | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index ee9e63ea29..7fc0122faa 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1109,40 +1109,6 @@ (define-public mygui-gl '("ogre")))) (synopsis "Fast, flexible and simple GUI (OpenGL backend)"))) -(define openmw-openscenegraph - ;; OpenMW prefers its own fork of openscenegraph: - ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph. - (let ((commit "36a962845a2c87a6671fd822157e0729d164e940")) - (package - (inherit openscenegraph) - (version (git-version "3.6" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/OpenMW/osg/") - (commit commit))) - (file-name (git-file-name (package-name openscenegraph) version)) - (sha256 - (base32 - "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia")))) - (arguments - (substitute-keyword-arguments (package-arguments openscenegraph) - ((#:configure-flags flags) - ;; As per the above wiki link, the following plugins are enough: - `(append - '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" - "-DBUILD_OSG_PLUGIN_OSG=1" - "-DBUILD_OSG_PLUGIN_DDS=1" - "-DBUILD_OSG_PLUGIN_TGA=1" - "-DBUILD_OSG_PLUGIN_BMP=1" - "-DBUILD_OSG_PLUGIN_JPEG=1" - "-DBUILD_OSG_PLUGIN_PNG=1" - "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" - ;; The jpeg plugin requires conversion between integers and booleans - "-DCMAKE_CXX_FLAGS=-fpermissive") - ,flags))))))) - (define-public openmw (package (name "openmw") diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 8d04e95937..6d6c8d1e1c 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -589,6 +589,42 @@ (define-public openscenegraph-3.4 `(("libjpeg" ,libjpeg) ,@(package-inputs openscenegraph))))) + +(define-public openmw-openscenegraph + ;; OpenMW prefers its own fork of openscenegraph: + ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph. + (let ((commit "36a962845a2c87a6671fd822157e0729d164e940")) + (hidden-package + (package + (inherit openscenegraph) + (version (git-version "3.6" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenMW/osg/") + (commit commit))) + (file-name (git-file-name (package-name openscenegraph) version)) + (sha256 + (base32 + "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia")))) + (arguments + (substitute-keyword-arguments (package-arguments openscenegraph) + ((#:configure-flags flags) + ;; As per the above wiki link, the following plugins are enough: + `(append + '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" + "-DBUILD_OSG_PLUGIN_OSG=1" + "-DBUILD_OSG_PLUGIN_DDS=1" + "-DBUILD_OSG_PLUGIN_TGA=1" + "-DBUILD_OSG_PLUGIN_BMP=1" + "-DBUILD_OSG_PLUGIN_JPEG=1" + "-DBUILD_OSG_PLUGIN_PNG=1" + "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" + ;; The jpeg plugin requires conversion between integers and booleans + "-DCMAKE_CXX_FLAGS=-fpermissive") + ,flags)))))))) + (define-public povray (package (name "povray") -- cgit v1.2.3 From c3ceeb93c2801078c39fb7450e4caa3168df56be Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 23:29:31 +0200 Subject: gnu: emacs-xterm-color: Update to 1.9. * gnu/packages/emacs-xyz.scm (emacs-xterm-color): Update to 1.9. --- gnu/packages/emacs-xyz.scm | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c28d094bcc..9ba355e02e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17884,27 +17884,24 @@ (define-public emacs-evil-traces (license license:gpl3+)))) (define-public emacs-xterm-color - (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6") - (version "1.8") - (revision "1")) - (package - (name "emacs-xterm-color") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/atomontage/xterm-color.git") - (commit commit))) - (sha256 - (base32 - "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (home-page "https://github.com/atomontage/xterm-color") - (synopsis "ANSI & xterm-256 color text property translator for Emacs") - (description "@code{xterm-color.el} is an ANSI control sequence to + (package + (name "emacs-xterm-color") + (version "1.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atomontage/xterm-color.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm")))) + (build-system emacs-build-system) + (home-page "https://github.com/atomontage/xterm-color") + (synopsis "ANSI & xterm-256 color text property translator for Emacs") + (description "@code{xterm-color.el} is an ANSI control sequence to text-property translator.") - (license license:bsd-2)))) + (license license:bsd-2))) (define-public emacs-org-noter (package -- cgit v1.2.3 From c463c270dc0e1690d3c7cc19cd78583ce9bf9bd1 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 24 Sep 2019 23:29:55 +0200 Subject: gnu: Add emacs-wttrin. * gnu/packages/emacs-xyz.scm (emacs-wttrin): New variable. --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9ba355e02e..855ca73f05 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15577,6 +15577,30 @@ (define-public emacs-all-the-icons (license (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0)))) +(define-public emacs-wttrin + (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc") + (revision "1")) + (package + (name "emacs-wttrin") + (version (git-version "0.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bcbcarl/emacs-wttrin.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-xterm-color" ,emacs-xterm-color))) + (home-page "https://github.com/bcbcarl/emacs-wttrin") + (synopsis "Frontend for weather web service @url{wttr.in}") + (description "This package provides local weather information from +@url{wttr.in}.") + (license license:expat)))) + (define-public emacs-powerline (package (name "emacs-powerline") -- cgit v1.2.3 From 4780db2c935110ea3254817ba0c519c229b9461e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 16 Sep 2019 22:20:23 -0500 Subject: gnu: idris: Update to 1.3.2. * gnu/packages/haskell-xyz.scm (ghc-network-2.8, ghc-megaparsec-7): New variables. * gnu/packages/idris.scm (idris): Update to 1.3.2. [source]: Remove patch. [inputs]: Use ghc-network-2.8 and ghc-megaparsec-7. * gnu/packages/patches/idris-test-no-node.patch: Delete. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++ gnu/packages/idris.scm | 9 ++-- gnu/packages/patches/idris-test-no-node.patch | 61 --------------------------- 4 files changed, 41 insertions(+), 67 deletions(-) delete mode 100644 gnu/packages/patches/idris-test-no-node.patch diff --git a/gnu/local.mk b/gnu/local.mk index 840ef22bdb..da5fe09446 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -960,7 +960,6 @@ dist_patch_DATA = \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ - %D%/packages/patches/idris-test-no-node.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/ilmbase-openexr-pkg-config.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index a36451fa8c..2977398880 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -62,6 +62,7 @@ (define-module (gnu packages haskell-xyz) #:use-module (guix build-system haskell) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) @@ -6070,6 +6071,24 @@ (define-public ghc-megaparsec speed, flexibility, and quality of parse errors.") (license license:bsd-2))) +;;; Idris 1.3.2 requires 'megaparse>=7.0.4' but we'd like to keep the public +;;; package at the current Stackage LTS version: +(define-public ghc-megaparsec-7 + (hidden-package + (package + (inherit ghc-megaparsec) + (version "7.0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/megaparsec/" + "megaparsec-" version ".tar.gz")) + (sha256 + (base32 + "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j")))) + (arguments (strip-keyword-arguments (list #:cabal-revision) + (package-arguments ghc-megaparsec)))))) + (define-public ghc-memory (package (name "ghc-memory") @@ -6740,6 +6759,24 @@ (define-public ghc-network "This package provides a low-level networking interface.") (license license:bsd-3))) +;;; Until we update our default GHC to >=8.6 we cannot update our ghc-network +;;; package, since the 'cabal-install' package that supports the current +;;; 'Cabal' module requires 'network==2.6.*'. Here we provide an updated +;;; version to be used for our idris package. +(define-public ghc-network-2.8 + (hidden-package + (package + (inherit ghc-network) + (version "2.8.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/network/" + "network-" version ".tar.gz")) + (sha256 + (base32 + "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))))) + (define-public ghc-network-info (package (name "ghc-network-info") diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 894a19f0aa..7e6ee302b0 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -38,7 +38,7 @@ (define-module (gnu packages idris) (define-public idris (package (name "idris") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append @@ -46,8 +46,7 @@ (define-public idris "idris-" version "/idris-" version ".tar.gz")) (sha256 (base32 - "0fn9h58l592j72njwma1ia48h8h87wi2rjqfxs7j2lfmvgfv18fi")) - (patches (search-patches "idris-test-no-node.patch")))) + "0wychzkg0yghd2pp8fqz78vp1ayzks191knfpl7mhh8igsmb6bc7")))) (build-system haskell-build-system) (native-inputs ;For tests `(("perl" ,perl) @@ -71,8 +70,8 @@ (define-public idris ("ghc-fsnotify" ,ghc-fsnotify) ("ghc-ieee754" ,ghc-ieee754) ("ghc-libffi" ,ghc-libffi) - ("ghc-megaparsec" ,ghc-megaparsec) - ("ghc-network" ,ghc-network) + ("ghc-megaparsec" ,ghc-megaparsec-7) + ("ghc-network" ,ghc-network-2.8) ("ghc-optparse-applicative" ,ghc-optparse-applicative) ("ghc-regex-tdfa" ,ghc-regex-tdfa) ("ghc-safe" ,ghc-safe) diff --git a/gnu/packages/patches/idris-test-no-node.patch b/gnu/packages/patches/idris-test-no-node.patch deleted file mode 100644 index c04ad41a8e..0000000000 --- a/gnu/packages/patches/idris-test-no-node.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 6c52e1b902b869c25e2fe39cff6364143a04da61 Mon Sep 17 00:00:00 2001 -From: Niklas Larsson -Date: Tue, 11 Dec 2018 19:56:22 +0100 -Subject: [PATCH] Only check for Node when required - ---- - test/TestRun.hs | 34 ++++++++++++++++++++-------------- - 1 file changed, 20 insertions(+), 14 deletions(-) - -diff --git a/test/TestRun.hs b/test/TestRun.hs -index c7db9fdcd..4809911f3 100644 ---- a/test/TestRun.hs -+++ b/test/TestRun.hs -@@ -11,6 +11,7 @@ import Data.Proxy - import Data.Typeable - import Options.Applicative - import System.Directory -+import System.Environment - import System.Exit - import System.FilePath (()) - import System.Info -@@ -103,20 +104,25 @@ runTest path flags = do - normalise (x : xs) = x : normalise xs - normalise [] = [] - -+checkNode :: IO () -+checkNode = do -+ nodePath <- findExecutable "node" -+ nodejsPath <- findExecutable "nodejs" -+ let node = nodePath <|> nodejsPath -+ case node of -+ Nothing -> do -+ putStrLn "For running the test suite against Node, node must be installed." -+ exitFailure -+ Just _ -> return () -+ - main :: IO () - main = do -- nodePath <- findExecutable "node" -- nodejsPath <- findExecutable "nodejs" -- let node = nodePath <|> nodejsPath -- case node of -- Nothing -> do -- putStrLn "For running the test suite against Node, node must be installed." -- exitFailure -- Just _ -> do -- defaultMainWithIngredients ingredients $ -+ args <- getArgs -+ when ("--node" `elem` args) checkNode -+ defaultMainWithIngredients ingredients $ - askOption $ \(NodeOpt node) -> -- let (codegen, flags) = if node then (JS, ["--codegen", "node"]) -- else (C , []) -- in -- mkGoldenTests (testFamiliesForCodegen codegen) -- (flags ++ idrisFlags) -+ let (codegen, flags) = if node then (JS, ["--codegen", "node"]) -+ else (C , []) -+ in -+ mkGoldenTests (testFamiliesForCodegen codegen) (flags ++ idrisFlags) -+ -- cgit v1.2.3 From 91e633f0430c8c26e6915f79365a49d8a4327c96 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 16 Jul 2019 18:09:38 +0900 Subject: build: initrd: Fix "write-cpio-archive" return value. * gnu/build/linux-initrd.scm (write-cpio-archive): Really return OUTPUT on success, even when compression is disabled. --- gnu/build/linux-initrd.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm index 3aaa06d3a0..ea7de58553 100644 --- a/gnu/build/linux-initrd.scm +++ b/gnu/build/linux-initrd.scm @@ -71,8 +71,7 @@ (define files (cpio:write-cpio-archive files port #:file->header cpio:file->cpio-header*))) - (or (not compress?) - + (if compress? ;; Gzip insists on adding a '.gz' suffix and does nothing if the input ;; file already has that suffix. Shuffle files around to placate it. (let* ((gz-suffix? (string-suffix? ".gz" output)) @@ -88,7 +87,6 @@ (define files (unless gz-suffix? (rename-file (string-append output ".gz") output)) output))) - output)) (define (cache-compiled-file-name file) -- cgit v1.2.3 From 41e03c4beefb4d14ca1f8f9d8739a582c9430893 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 18 Jul 2019 07:23:48 +0900 Subject: linux-boot: Fix typo. * gnu/build/linux-boot.scm (mount-root-file-system): Fix typo. --- gnu/build/linux-boot.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index f273957d78..84a5447977 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -359,8 +359,9 @@ (define (pidof program) (define* (mount-root-file-system root type #:key volatile-root?) "Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT? -is true, mount ROOT read-only and make it a overlay with a writable tmpfs -using the kernel build-in overlayfs." +is true, mount ROOT read-only and make it an overlay with a writable tmpfs +using the kernel built-in overlayfs." + (if volatile-root? (begin (mkdir-p "/real-root") -- cgit v1.2.3 From 430ac9ccb43faacd24610d8dbdf8e6f070baaeb7 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 03:08:22 +0200 Subject: gnu: Add emacs-cmake-font-lock. * gnu/packages/emacs-xyz.scm (emacs-cmake-font-lock): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 855ca73f05..21ce76d3d4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16280,6 +16280,32 @@ (define-public emacs-mkmcc-gnuplot-mode indentation and a command to plot the file.") (license license:gpl3+))) +(define-public emacs-cmake-font-lock + (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4") + (revision "1")) + (package + (name "emacs-cmake-font-lock") + (version (git-version "0.1.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Lindydancer/cmake-font-lock.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf")))) + (build-system emacs-build-system) + (native-inputs + `(("emacs-faceup" ,emacs-faceup))) + (arguments + `(#:include (cons "^admin\\/" %default-include))) + (home-page "https://github.com/Lindydancer/cmake-font-lock") + (synopsis "Advanced type-aware syntax-highlighting for CMake") + (description "This package highlights function arguments in CMake +according to their use.") + (license license:gpl3+)))) + (define-public emacs-dtrt-indent (package (name "emacs-dtrt-indent") -- cgit v1.2.3 From c83d7e964d0328637b2e2023f7e39375baaef78f Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 03:13:08 +0200 Subject: gnu: emacs-helm-lsp: Fix description. * gnu/packages/emacs-xyz.scm (emacs-helm-lsp): Fix description. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 21ce76d3d4..4ee53fbe88 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16695,10 +16695,10 @@ (define-public emacs-helm-lsp ("emacs-lsp-mode" ,emacs-lsp-mode) ("emacs-dash" ,emacs-dash))) (home-page "https://github.com/emacs-lsp/helm-lsp") - (synopsis "Convert keyboard macros to Emacs Lisp") + (synopsis "Provide LSP-enhanced completion for symbols") (description - "This package displays keyboard macros or latest interactive commands -as Emacs Lisp.") + "This package provides completion for symbols from workspaces with a +LSP-compliant server running.") (license license:gpl3+)))) (define-public emacs-helm-notmuch -- cgit v1.2.3 From ac87bc57af9bcb6cbb45eaf90256f8f27e4e8729 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 05:55:19 +0200 Subject: gnu: emacs-vdiff: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-vdiff): Enable tests. --- gnu/packages/emacs-xyz.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4ee53fbe88..0fc76a4d63 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17095,16 +17095,15 @@ (define-public emacs-equake (define-public emacs-vdiff (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07") - (version "0.2.3") (revision "1")) (package (name "emacs-vdiff") - (version (git-version version revision commit)) + (version (git-version "0.2.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/justbur/emacs-vdiff/") + (url "https://github.com/justbur/emacs-vdiff.git") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -17113,6 +17112,11 @@ (define-public emacs-vdiff (build-system emacs-build-system) (propagated-inputs `(("emacs-hydra" ,emacs-hydra))) + (arguments + `(#:tests? #t + #:test-command '("emacs" "-Q" "-batch" "-L" "." + "-l" "vdiff-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/justbur/emacs-vdiff/") (synopsis "Frontend for diffing based on vimdiff") (description "This package permits comparisons of two or three buffers -- cgit v1.2.3 From 1683e4863af430fa85c790dcca600fad538432e8 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 15 Sep 2019 19:16:06 +0100 Subject: gnu: Add guix-data-service. * gnu/packages/web.scm (guix-data-service): New variable. --- gnu/packages/web.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4509f63f1b..01c7288caa 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -56,6 +56,7 @@ (define-module (gnu packages web) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix cvs-download) #:use-module (guix hg-download) @@ -77,6 +78,8 @@ (define-module (gnu packages web) #:use-module (gnu packages check) #:use-module (gnu packages documentation) #:use-module (gnu packages docbook) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -4013,6 +4016,98 @@ (define-public python-feedparser (define-public python2-feedparser (package-with-python2 python-feedparser)) +(define-public guix-data-service + (let ((commit "bb94f6dd05a33135fa661b86d35d203c0c099dba") + (revision "1")) + (package + (name "guix-data-service") + (version (string-append "0.0.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guix/data-service.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y6s4igjvi0293z4d4hbgwifs8avcam71qhis9z4f8mjz6w7vcpb")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; TODO Tests require PostgreSQL + #:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 rdelim) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-GUIX_ENVIRONMENT + (lambda* (#:key inputs #:allow-other-keys) + ;; This means guix.el finds the Emacs modules + (setenv "GUIX_ENVIRONMENT" + (assoc-ref inputs "emacs-with-modules")) + #t)) + (add-before 'build 'set-GUILE_AUTO_COMPILE + (lambda _ + ;; To avoid errors relating to guild + (setenv "GUILE_AUTO_COMPILE" "0") + #t)) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (guile (assoc-ref inputs "guile")) + (guile-effective-version + (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (scm (string-append out "/share/guile/site/" + guile-effective-version)) + (go (string-append out "/lib/guile/" + guile-effective-version + "/site-ccache"))) + (for-each + (lambda (file) + (wrap-program (string-append bin "/" file) + `("PATH" ":" prefix + (,bin)) + `("GUILE_LOAD_PATH" ":" prefix + (,scm ,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) + '("guix-data-service" + "guix-data-service-process-branch-updated-email" + "guix-data-service-process-job" + "guix-data-service-process-jobs" + "guix-data-service-query-build-servers")) + #t))) + (delete 'strip)))) ; As the .go files aren't compatible + (inputs + `(("guix" ,guix) + ("guile-fibers" ,guile-fibers) + ("guile-json" ,guile-json-3) + ("guile-email" ,guile-email) + ("guile-squee" ,guile-squee) + ("postgresql" ,postgresql) + ("sqitch" ,sqitch))) + (native-inputs + `(("guile" ,guile-2.2) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("emacs-with-modules" ,(directory-union + "emacs-union" + (list emacs-no-x + emacs-htmlize))) + ("pkg-config" ,pkg-config))) + (synopsis "Store and provide data about GNU Guix") + (description + "The Guix Data Service stores data about GNU Guix, and provides this +through a web interface. It supports listening to the guix-commits mailing +list to find out about new revisions, then loads the data from these in to a +PostgreSQL database.") + (home-page "http://data.guix.gnu.org/") + (license license:agpl3+)))) + (define-public gumbo-parser (package (name "gumbo-parser") -- cgit v1.2.3 From dd2a83270bccb539439b2fc831d0db04e5276f11 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 15 Sep 2019 19:16:11 +0100 Subject: services: Add the Guix Data Service. * gnu/services/guix.scm: New file. * gnu/tests/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files. * doc/guix.texi (Guix Services): New section documenting the Guix Data Service. --- doc/guix.texi | 52 +++++++++++++ gnu/local.mk | 2 + gnu/services/guix.scm | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++ gnu/tests/guix.scm | 173 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 439 insertions(+) create mode 100644 gnu/services/guix.scm create mode 100644 gnu/tests/guix.scm diff --git a/doc/guix.texi b/doc/guix.texi index 9fcce27597..71deca5aba 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11788,6 +11788,7 @@ declaration. * Virtualization Services:: Virtualization services. * Version Control Services:: Providing remote access to Git repositories. * Game Services:: Game servers. +* Guix Services:: Services relating specifically to Guix. * Miscellaneous Services:: Other services. @end menu @@ -24327,6 +24328,57 @@ The port to bind the server to. @end table @end deftp + +@node Guix Services +@subsection Guix Services + +@subsubheading Guix Data Service +The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores +and provides data about GNU Guix. This includes information about +packages, derivations and lint warnings. + +The data is stored in a PostgreSQL database, and available through a web +interface. + +@defvar {Scheme Variable} guix-data-service-type +Service type for the Guix Data Service. Its value must be a +@code{guix-data-service-configuration} object. The service optionally +extends the getmail service, as the guix-commits mailing list is used to +find out about changes in the Guix git repository. +@end defvar + +@deftp {Data Type} guix-data-service-configuration +Data type representing the configuration of the Guix Data Service. + +@table @asis +@item @code{package} (default: @code{guix-data-service}) +The Guix Data Service package to use. + +@item @code{user} (default: @code{"guix-data-service"}) +The system user to run the service as. + +@item @code{group} (default: @code{"guix-data-service"}) +The system group to run the service as. + +@item @code{port} (default: @code{8765}) +The port to bind the web service to. + +@item @code{host} (default: @code{"127.0.0.1"}) +The host to bind the web service to. + +@item @code{getmail-idle-mailboxes} (default: @code{#f}) +If set, this is the list of mailboxes that the getmail service will be +configured to listen to. + +@item @code{commits-getmail-retriever-configuration} (default: @code{#f}) +If set, this is the @code{getmail-retriever-configuration} object with +which to configure getmail to fetch mail from the guix-commits mailing +list. + +@end table +@end deftp + + @node Miscellaneous Services @subsection Miscellaneous Services diff --git a/gnu/local.mk b/gnu/local.mk index da5fe09446..23fc317d50 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -535,6 +535,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/authentication.scm \ %D%/services/games.scm \ %D%/services/getmail.scm \ + %D%/services/guix.scm \ %D%/services/kerberos.scm \ %D%/services/lirc.scm \ %D%/services/virtualization.scm \ @@ -599,6 +600,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/desktop.scm \ %D%/tests/dict.scm \ %D%/tests/docker.scm \ + %D%/tests/guix.scm \ %D%/tests/monitoring.scm \ %D%/tests/nfs.scm \ %D%/tests/install.scm \ diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm new file mode 100644 index 0000000000..0f0fad39b0 --- /dev/null +++ b/gnu/services/guix.scm @@ -0,0 +1,212 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Christopher Baines +;;; +;;; 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 services guix) + #:use-module (ice-9 match) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module ((gnu packages base) + #:select (glibc-utf8-locales)) + #:use-module (gnu packages admin) + #:use-module (gnu packages web) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services admin) + #:use-module (gnu services shepherd) + #:use-module (gnu services getmail) + #:use-module (gnu system shadow) + #:export ( + guix-data-service-configuration + guix-data-service-configuration? + guix-data-service-package + guix-data-service-user + guix-data-service-group + guix-data-service-port + guix-data-service-host + guix-data-service-getmail-idle-mailboxes + guix-data-service-commits-getmail-retriever-configuration + + guix-data-service-type)) + +;;;; Commentary: +;;; +;;; This module implements a service that to run instances of the Guix Data +;;; Service, which provides data about Guix over time. +;;; +;;;; Code: + +(define-record-type* + guix-data-service-configuration make-guix-data-service-configuration + guix-data-service-configuration? + (package guix-data-service-package + (default guix-data-service)) + (user guix-data-service-configuration-user + (default "guix-data-service")) + (group guix-data-service-configuration-group + (default "guix-data-service")) + (port guix-data-service-port + (default 8765)) + (host guix-data-service-host + (default "127.0.0.1")) + (getmail-idle-mailboxes + guix-data-service-getmail-idle-mailboxes + (default #f)) + (commits-getmail-retriever-configuration + guix-data-service-commits-getmail-retriever-configuration + (default #f))) + +(define (guix-data-service-profile-packages config) + "Return the guix-data-service package, this will populate the +ca-certificates.crt file in the system profile." + (list + (guix-data-service-package config))) + +(define (guix-data-service-shepherd-services config) + (match-record config + (package user group port host) + (list + (shepherd-service + (documentation "Guix Data Service web server") + (provision '(guix-data-service)) + (requirement '(postgres networking)) + (start #~(make-forkexec-constructor + (list #$(file-append package + "/bin/guix-data-service") + "--pid-file=/var/run/guix-data-service/pid" + #$(string-append "--port=" (number->string port)) + #$(string-append "--host=" host) + ;; Perform any database migrations when the + ;; service is started + "--update-database") + + #:user #$user + #:group #$group + #:pid-file "/var/run/guix-data-service/pid" + ;; Allow time for migrations to run + #:pid-file-timeout 60 + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-data-service/web.log")) + (stop #~(make-kill-destructor))) + + (shepherd-service + (documentation "Guix Data Service process jobs") + (provision '(guix-data-service-process-jobs)) + (requirement '(postgres + networking + ;; Require guix-data-service, as that the database + ;; migrations are handled through this service + guix-data-service)) + (start #~(make-forkexec-constructor + (list + #$(file-append package + "/bin/guix-data-service-process-jobs")) + #:user #$user + #:group #$group + #:environment-variables + `("HOME=/var/lib/guix-data-service" + "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" + ,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-data-service/process-jobs.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-data-service-activation config) + #~(begin + (use-modules (guix build utils)) + + (define %user (getpw "guix-data-service")) + + (chmod "/var/lib/guix-data-service" #o755) + + (mkdir-p "/var/log/guix-data-service") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-data-service") + (chown "/var/run/guix-data-service" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-data-service-account config) + (match-record config + (user group) + (list (user-group + (name group) + (system? #t)) + (user-account + (name user) + (group group) + (system? #t) + (comment "Guix Data Service user") + (home-directory "/var/lib/guix-data-service") + (shell (file-append shadow "/sbin/nologin")))))) + +(define (guix-data-service-getmail-configuration config) + (match config + (($ package user group + port host + #f #f) + '()) + (($ package user group + port host + getmail-idle-mailboxes + commits-getmail-retriever-configuration) + (list + (getmail-configuration + (name 'guix-data-service) + (user user) + (group group) + (directory "/var/lib/getmail/guix-data-service") + (rcfile + (getmail-configuration-file + (retriever commits-getmail-retriever-configuration) + (destination + (getmail-destination-configuration + (type "MDA_external") + (path (file-append + package + "/bin/guix-data-service-process-branch-updated-email")))) + (options + (getmail-options-configuration + (read-all #f) + (delivered-to #f) + (received #f))))) + (idle getmail-idle-mailboxes)))))) + +(define guix-data-service-type + (service-type + (name 'guix-data-service) + (extensions + (list + (service-extension profile-service-type + guix-data-service-profile-packages) + (service-extension shepherd-root-service-type + guix-data-service-shepherd-services) + (service-extension activation-service-type + guix-data-service-activation) + (service-extension account-service-type + guix-data-service-account) + (service-extension getmail-service-type + guix-data-service-getmail-configuration))) + (default-value + (guix-data-service-configuration)) + (description + "Run an instance of the Guix Data Service."))) diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm new file mode 100644 index 0000000000..6139e31cf0 --- /dev/null +++ b/gnu/tests/guix.scm @@ -0,0 +1,173 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Christopher Baines +;;; +;;; 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 tests guix) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system shadow) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services guix) + #:use-module (gnu services databases) + #:use-module (gnu services shepherd) + #:use-module (gnu services networking) + #:use-module (gnu packages databases) + #:use-module (guix packages) + #:use-module (guix modules) + #:use-module (guix records) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (ice-9 match) + #:export (%test-guix-data-service)) + + +;;; +;;; Guix Data Service +;;; + +(define guix-data-service-initial-database-setup-service + (let ((user "guix_data_service") + (name "guix_data_service")) + (define start-gexp + #~(lambda () + (let ((pid (primitive-fork)) + (postgres (getpwnam "postgres"))) + (if (eq? pid 0) + (dynamic-wind + (const #t) + (lambda () + (setgid (passwd:gid postgres)) + (setuid (passwd:uid postgres)) + (primitive-exit + (if (and + (zero? + (system* #$(file-append postgresql "/bin/createuser") + #$user)) + (zero? + (system* #$(file-append postgresql "/bin/createdb") + "-O" #$user #$name))) + 0 + 1))) + (lambda () + (primitive-exit 1))) + (zero? (cdr (waitpid pid))))))) + + (shepherd-service + (requirement '(postgres)) + (provision '(guix-data-service-initial-database-setup)) + (start start-gexp) + (stop #~(const #f)) + (respawn? #f) + (one-shot? #t) + (documentation "Setup Guix Data Service database.")))) + +(define %guix-data-service-os + (simple-operating-system + (service dhcp-client-service-type) + (service postgresql-service-type + (postgresql-configuration + (config-file + (postgresql-config-file + (hba-file + (plain-file "pg_hba.conf" + " +local all all trust +host all all 127.0.0.1/32 trust +host all all ::1/128 trust")))))) + (service guix-data-service-type + (guix-data-service-configuration + (host "0.0.0.0"))) + (simple-service 'guix-data-service-database-setup + shepherd-root-service-type + (list guix-data-service-initial-database-setup-service)))) + +(define (run-guix-data-service-test) + (define os + (marionette-operating-system + %guix-data-service-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define forwarded-port 8080) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 1024) + (port-forwardings `((,forwarded-port . 8765))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "guix-data-service") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'guix-data-service) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-assert "process jobs service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'guix-data-service-process-jobs) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-equal "http-get" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/healthcheck" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "guix-data-service-test" test)) + +(define %test-guix-data-service + (system-test + (name "guix-data-service") + (description "Connect to a running Guix Data Service.") + (value (run-guix-data-service-test)))) -- cgit v1.2.3 From 0876e9c116125b28806286b0313ff78de5948562 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 10:45:38 +0200 Subject: colors: Add 'dim'. * guix/colors.scm (coloring-procedure): New procedure. (%highlight-color): Remove. (highlight): Define in terms of 'coloring-procedure'. (dim): New procedure. --- guix/colors.scm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/guix/colors.scm b/guix/colors.scm index 7949cf5763..b63ac37027 100644 --- a/guix/colors.scm +++ b/guix/colors.scm @@ -31,6 +31,8 @@ (define-module (guix colors) colorize-string highlight + dim + color-rules color-output? isatty?*)) @@ -133,14 +135,16 @@ (define (color-output? port) (not (getenv "NO_COLOR")) (isatty?* port))) -(define %highlight-color (color BOLD)) +(define (coloring-procedure color) + "Return a procedure that applies COLOR to the given string." + (lambda* (str #:optional (port (current-output-port))) + "Return STR with extra ANSI color attributes if PORT supports it." + (if (color-output? port) + (colorize-string str color) + str))) -(define* (highlight str #:optional (port (current-output-port))) - "Return STR with extra ANSI color attributes to highlight it if PORT -supports it." - (if (color-output? port) - (colorize-string str %highlight-color) - str)) +(define highlight (coloring-procedure (color BOLD))) +(define dim (coloring-procedure (color DARK))) (define (colorize-matches rules) "Return a procedure that, when passed a string, returns that string -- cgit v1.2.3 From d26c290b7dac642c39f23fd65b4eb0d10534d58d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 10:48:50 +0200 Subject: pull: Dim the commit ID when displaying news. * guix/scripts/pull.scm (display-news-entry): Dim the commit line. --- guix/scripts/pull.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 2b7b991b50..0372278705 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -249,7 +249,7 @@ (define body (channel-news-entry-body entry)) (display-news-entry-title entry language port) - (format port (G_ " commit ~a~%") + (format port (dim (G_ " commit ~a~%")) (channel-news-entry-commit entry)) (newline port) (format port " ~a~%" -- cgit v1.2.3 From 012c93e916279f7df0e495aa1a73f696de15b80e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 14:43:46 +0200 Subject: doc: Support paren matching via CSS hover. * doc/build.scm (syntax-highlighted-html)[build](pair-open/close) (highlights->sxml*): New procedures. (syntax-highlight): Use 'highlights->sxml*'. --- doc/build.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/doc/build.scm b/doc/build.scm index 5bc95d2517..b6a921c421 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -215,6 +215,58 @@ (define build (ice-9 match) (ice-9 threads)) + (define (pair-open/close lst) + ;; Pair 'open' and 'close' tags produced by 'highlights' and + ;; produce nested 'paren' tags instead. + (let loop ((lst lst) + (level 0) + (result '())) + (match lst + ((('open open) rest ...) + (call-with-values + (lambda () + (loop rest (+ 1 level) '())) + (lambda (inner close rest) + (loop rest level + (cons `(paren ,level ,open ,inner ,close) + result))))) + ((('close str) rest ...) + (if (> level 0) + (values (reverse result) str rest) + (begin + (format (current-error-port) + "warning: extra closing paren; context:~% ~y~%" + (reverse result)) + (loop rest 0 (cons `(close ,str) result))))) + ((item rest ...) + (loop rest level (cons item result))) + (() + (when (> level 0) + (format (current-error-port) + "warning: missing ~a closing parens; context:~% ~y%" + level (reverse result))) + (values (reverse result) "" '()))))) + + (define (highlights->sxml* highlights) + ;; Like 'highlights->sxml', but handle nested 'paren tags. This + ;; allows for paren matching highlights via appropriate CSS + ;; "hover" properties. + (define (tag->class tag) + (string-append "syntax-" (symbol->string tag))) + + (map (match-lambda + ((? string? str) str) + (('paren level open (body ...) close) + `(span (@ (class ,(string-append "syntax-paren" + (number->string level)))) + ,open + (span (@ (class "syntax-symbol")) + ,@(highlights->sxml* body)) + ,close)) + ((tag text) + `(span (@ (class ,(tag->class tag))) ,text))) + highlights)) + (define entity->string (match-lambda ("rArr" "⇒") @@ -252,9 +304,10 @@ (define (syntax-highlight sxml) (href #$syntax-css-url))))) (('pre ('@ ('class "lisp")) code-snippet ...) `(pre (@ (class "lisp")) - ,(highlights->sxml - (highlight lex-scheme - (concatenate-snippets code-snippet))))) + ,@(highlights->sxml* + (pair-open/close + (highlight lex-scheme + (concatenate-snippets code-snippet)))))) ((tag ('@ attributes ...) body ...) `(,tag (@ ,@attributes) ,@(map syntax-highlight body))) ((tag body ...) -- cgit v1.2.3 From 4b67b9db7d58ef6596c9b69a3d530bc7100ab038 Mon Sep 17 00:00:00 2001 From: Divan Santana Date: Mon, 23 Sep 2019 12:54:56 +0200 Subject: gnu: emacs-exwm: Update to 0.23. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-exwm): Update to 0.23. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0fc76a4d63..84cfc75ebc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8694,7 +8694,7 @@ (define-public emacs-xelb (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.22") + (version "0.23") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -8702,7 +8702,7 @@ (define-public emacs-exwm version ".tar")) (sha256 (base32 - "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0")))) + "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) -- cgit v1.2.3 From 82b6bf8c0f05988305c126b5a6b196e1d57a19ea Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Tue, 24 Sep 2019 00:28:52 +0200 Subject: doc: Fix installing Guix in VM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Installing Guix in a Virtual Machine): Pass "order=d" to '-boot' option. Use "-drive media=cdrom" for the ISO image. Remove paragraph about ordering and the boot menu. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 71deca5aba..dd54f7f747 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2442,17 +2442,13 @@ Boot the USB installation image in an VM: @example qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ - -net user -net nic,model=virtio -boot menu=on \ - -drive file=guix-system-install-@value{VERSION}.@var{system}.iso \ - -drive file=guix-system.img + -net user -net nic,model=virtio -boot menu=on,order=d \ + -drive file=guix-system.img \ + -drive media=cdrom,file=guix-system-install-@value{VERSION}.@var{system}.iso @end example -The ordering of the drives matters. @code{-enable-kvm} is optional, but -significantly improves performance, @pxref{Running Guix in a VM}. - -In the VM console, quickly press the @kbd{F12} key to enter the boot -menu. Then press the @kbd{2} key and the @kbd{RET} key to validate your -selection. +@code{-enable-kvm} is optional, but significantly improves performance, +@pxref{Running Guix in a VM}. @item You're now root in the VM, proceed with the installation process. -- cgit v1.2.3 From 34e624a56ad42f93d8526f7c7e2025d26a4cba5e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 15:38:26 +0200 Subject: doc: Avoid @verbatiminclude for Scheme snippets. * doc/guix.texi (Invoking guix package): Use @include instead of @verbatiminclude. (Additional Build Options): Likewise. --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index dd54f7f747..267c2e9e6c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2755,7 +2755,7 @@ As an example, @var{file} might contain a definition like this (@pxref{Defining Packages}): @lisp -@verbatiminclude package-hello.scm +@include package-hello.scm @end lisp Developers may find it useful to include such a @file{guix.scm} file @@ -8231,7 +8231,7 @@ As an example, @var{file} might contain a package definition like this (@pxref{Defining Packages}): @lisp -@verbatiminclude package-hello.scm +@include package-hello.scm @end lisp @item --expression=@var{expr} -- cgit v1.2.3 From 195854a50ce8e9abe15db24b4808f78fe52ce620 Mon Sep 17 00:00:00 2001 From: Wiktor Żelazny Date: Mon, 16 Sep 2019 18:18:06 +0200 Subject: gnu: Add r-assertable. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-assertable): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cb0be4aedd..89a581cb5e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15610,3 +15610,30 @@ (define-public r-lifecycle these stages in your documentation. Usage of deprecated functions are signalled with increasing levels of non-invasive verbosity.") (license license:gpl3))) + +(define-public r-assertable + (package + (name "r-assertable") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertable" version)) + (sha256 + (base32 + "0jjd6ylh26fykzzv1q2lbajzfj07lyxwb3b3xmr2zdg2fp5b2w4c")))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table))) + (home-page "https://cran.r-project.org/web/packages/assertable/") + (synopsis "Verbose assertions for tabular data (data.frames and data.tables)") + (description "This package provides simple, flexible assertions on +data.frame or data.table objects with verbose output for vetting. While other +assertion packages apply towards more general use-cases, @code{assertable} is +tailored towards tabular data. It includes functions to check variable names +and values, whether the dataset contains all combinations of a given set of +unique identifiers, and whether it is a certain length. In addition, +@code{assertable} includes utility functions to check the existence of target +files and to efficiently import multiple tabular data files into one +data.table.") + (license license:gpl3))) -- cgit v1.2.3 From a3246602a271540b3ab21eb904b287da4f324eb8 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 24 Sep 2019 11:56:10 +0200 Subject: gnu: guile-parted: Update to 0.0.2. * gnu/packages/guile-xyz.scm (guile-parted): Update to 0.0.2. --- gnu/packages/guile-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 2736b36a38..43a599b503 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016, 2019 Jan Nieuwenhuizen ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 David Thompson -;;; Copyright © 2017, 2018 Mathieu Othacehe +;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 ng0 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice @@ -1024,7 +1024,7 @@ (define-public guile-mastodon (define-public guile-parted (package (name "guile-parted") - (version "0.0.1") + (version "0.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -1033,7 +1033,7 @@ (define-public guile-parted (file-name (git-file-name name version)) (sha256 (base32 - "1q7425gpjlwi2wvhzq7kw046yyx7v6j6jyzkd1cr861iz34mjwiq")))) + "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")))) (build-system gnu-build-system) (arguments '(#:make-flags -- cgit v1.2.3 From 70c7b7c79920dd6500ba5e4e88fe147cc44923d8 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 24 Sep 2019 11:56:46 +0200 Subject: installer: Update to Guile-Parted 0.0.2 release. * gnu/installer/parted.scm (data-partition?, metadata-partition?, freespace-partition?, normal-partition?, extended-partition?, logical-partition?): Remove, as now provided by Guile-Parted. * gnu/installer/newt/partition.scm (run-disk-page): Remove disk-destroy calls, replace disk-delete-all by disk-remove-all-partitions and disk-delete-partition by disk-remove-partition*. --- gnu/installer/newt/partition.scm | 9 +++----- gnu/installer/parted.scm | 48 ++++------------------------------------ 2 files changed, 7 insertions(+), 50 deletions(-) diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 7a9f11a15e..74e9473171 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -587,7 +587,6 @@ (define (listbox-action listbox-item) disks)) (new-user-partitions (remove-user-partition-by-disk user-partitions item))) - (disk-destroy item) `((disks . ,(cons new-disk other-disks)) (user-partitions . ,new-user-partitions))) `((disks . ,disks) @@ -625,7 +624,7 @@ (define (hotkey-action key listbox-item) info-text))) (case result ((1) - (disk-delete-all item) + (disk-remove-all-partitions item) `((disks . ,disks) (user-partitions . ,(remove-user-partition-by-disk user-partitions item)))) @@ -649,7 +648,7 @@ (define (hotkey-action key listbox-item) (let ((new-user-partitions (remove-user-partition-by-partition user-partitions item))) - (disk-delete-partition disk item) + (disk-remove-partition* disk item) `((disks . ,disks) (user-partitions . ,new-user-partitions)))) (else @@ -696,9 +695,7 @@ (define (hotkey-action key listbox-item) #f)) (check-user-partitions user-partitions)))) (if user-partitions-ok? - (begin - (for-each (cut disk-destroy <>) disks) - user-partitions) + user-partitions (run-disk-page disks user-partitions #:guided? guided?))) (let* ((result-disks (assoc-ref result 'disks)) diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index 682e233d9f..3439f211e2 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -64,13 +64,7 @@ (define-module (gnu installer parted) user-partition-parted-object find-esp-partition - data-partition? - metadata-partition? - freespace-partition? small-freespace-partition? - normal-partition? - extended-partition? - logical-partition? esp-partition? boot-partition? default-esp-mount-point @@ -172,24 +166,6 @@ (define (find-esp-partition partitions) "Find and return the ESP partition among PARTITIONS." (find esp-partition? partitions)) -(define (data-partition? partition) - "Return #t if PARTITION is a partition dedicated to data (by opposition to -freespace, metadata and protected partition types), return #f otherwise." - (let ((type (partition-type partition))) - (not (any (lambda (flag) - (member flag type)) - '(free-space metadata protected))))) - -(define (metadata-partition? partition) - "Return #t if PARTITION is a metadata partition, #f otherwise." - (let ((type (partition-type partition))) - (member 'metadata type))) - -(define (freespace-partition? partition) - "Return #t if PARTITION is a free-space partition, #f otherwise." - (let ((type (partition-type partition))) - (member 'free-space type))) - (define* (small-freespace-partition? device partition #:key (max-size MEBIBYTE-SIZE)) @@ -200,21 +176,6 @@ (define* (small-freespace-partition? device (device-sector-size device)))) (< size max-sector-size))) -(define (normal-partition? partition) - "return #t if partition is a normal partition, #f otherwise." - (let ((type (partition-type partition))) - (member 'normal type))) - -(define (extended-partition? partition) - "return #t if partition is an extended partition, #f otherwise." - (let ((type (partition-type partition))) - (member 'extended type))) - -(define (logical-partition? partition) - "Return #t if PARTITION is a logical partition, #f otherwise." - (let ((type (partition-type partition))) - (member 'logical type))) - (define (partition-user-type partition) "Return the type of PARTITION, to be stored in the TYPE field of record. It can be 'normal, 'extended or 'logical." @@ -813,7 +774,7 @@ (define* (extend-ranges! start-range end-range (define (rmpart disk number) "Remove the partition with the given NUMBER on DISK." (let ((partition (disk-get-partition disk number))) - (disk-remove-partition disk partition))) + (disk-remove-partition* disk partition))) ;; @@ -928,12 +889,12 @@ (define* (auto-partition! disk (if has-extended? ;; msdos - remove everything. - (disk-delete-all disk) + (disk-remove-all-partitions disk) ;; gpt - remove everything but esp if it exists. (for-each (lambda (partition) (and (data-partition? partition) - (disk-remove-partition disk partition))) + (disk-remove-partition* disk partition))) non-boot-partitions)) (let* ((start-partition @@ -1348,7 +1309,7 @@ (define (user-partitions->configuration user-partitions) (define (init-parted) "Initialize libparted support." - (probe-all-devices) + (probe-all-devices!) (exception-set-handler (lambda (exception) EXCEPTION-OPTION-UNHANDLED))) @@ -1364,7 +1325,6 @@ (define (free-parted devices) ;; https://mail.gnome.org/archives/commits-list/2013-March/msg18423.html. (let ((device-file-names (map device-path devices))) (for-each force-device-sync devices) - (free-all-devices) (for-each (lambda (file-name) (let ((in-use? (with-delay-device-in-use? file-name))) (and in-use? -- cgit v1.2.3 From 193cbb3d61cdf3b69e8c00e9b84df66364c52766 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Sep 2019 16:40:34 +0200 Subject: gnu: freeimage: Build with the C++ 11 standard. This is a follow-up to commit 942c7889498fc8e680a16d500e166c9ade84e640. * gnu/packages/image.scm (freeimage)[arguments]: Pass -std=gnu++11 in CFLAGS. --- gnu/packages/image.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2a9ee990be..dbc0159e22 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -981,8 +981,11 @@ (define-public freeimage ;; We need '-fpermissive' for Source/FreeImage.h. ;; libjxr doesn't have a pkg-config file. (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive " - ;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib" - )) + ;;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib" + + ;; FIXME: OpenEXR 2.4.0 requires C++11 or later. + ;; Remove when the default compiler is > GCC 5. + "-std=gnu++11")) #:tests? #f)) ; no check target (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 8b9570adc16e62c923d14f1f5ecbc8eb5b89c985 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 7 Jan 2019 19:32:02 -0500 Subject: gnu: libjxr: Build and install shared library. * gnu/packages/image.scm (libjxr)[arguments]: Add -fPIC to CFLAGS for shared library support. Add 'build-shared-library' phase and modify 'install' phase to install the shared libraries. Signed-off-by: Marius Bakke --- gnu/packages/image.scm | 90 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 30 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index dbc0159e22..d1a4a58575 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -437,36 +437,66 @@ (define-public libjxr (patches (search-patches "libjxr-fix-function-signature.patch" "libjxr-fix-typos.patch")))) (build-system gnu-build-system) - (arguments '(#:make-flags '("CC=gcc") - #:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - ;; The upstream makefile does not include an install phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib")) - (include (string-append out "/include/jxrlib"))) - (for-each (lambda (file) - (install-file file include) - (delete-file file)) - (append - '("jxrgluelib/JXRGlue.h" - "jxrgluelib/JXRMeta.h" - "jxrtestlib/JXRTest.h" - "image/sys/windowsmediaphoto.h") - (find-files "common/include" "\\.h$"))) - (for-each (lambda (file) - (install-file file lib) - (delete-file file)) - (find-files "." "\\.a$")) - (for-each (lambda (file) - (install-file file bin) - (delete-file file)) - '("JxrDecApp" "JxrEncApp"))) - #t))))) + (arguments + '(#:make-flags + (list "CC=gcc" + ;; A substitute* procedure call would be enough to add the -fPIC + ;; flag if there was no file decoding error. + ;; The makefile is a "Non-ISO extended-ASCII text, with CRLF line + ;; terminators" according to the file(1) utility. + (string-append "CFLAGS=-I. -Icommon/include -Iimage/sys -fPIC " + "-D__ANSI__ -DDISABLE_PERF_MEASUREMENT -w -O ")) + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-after 'build 'build-shared-library + (lambda _ + ;; The Makefile uses optimization level 1, so the same + ;; level is used here for consistency. + (invoke "gcc" "-shared" "-fPIC" "-O" + ;; Common files. + "adapthuff.o" "image.o" "strcodec.o" "strPredQuant.o" + "strTransform.o" "perfTimerANSI.o" + ;; Decoding files. + "decode.o" "postprocess.o" "segdec.o" "strdec.o" + "strInvTransform.o" "strPredQuantDec.o" "JXRTranscode.o" + ;; Encoding files. + "encode.o" "segenc.o" "strenc.o" "strFwdTransform.o" + "strPredQuantEnc.o" + "-o" "libjpegxr.so") + (invoke "gcc" "-shared" "-fPIC" "-O" + ;; Glue files. + "JXRGlue.o" "JXRMeta.o" "JXRGluePFC.o" "JXRGlueJxr.o" + ;; Test files. + "JXRTest.o" "JXRTestBmp.o" "JXRTestHdr.o" "JXRTestPnm.o" + "JXRTestTif.o" "JXRTestYUV.o" + "-o" "libjxrglue.so"))) + ;; The upstream makefile does not include an install phase. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (include (string-append out "/include/jxrlib"))) + (for-each (lambda (file) + (install-file file include) + (delete-file file)) + (append + '("jxrgluelib/JXRGlue.h" + "jxrgluelib/JXRMeta.h" + "jxrtestlib/JXRTest.h" + "image/sys/windowsmediaphoto.h") + (find-files "common/include" "\\.h$"))) + (for-each (lambda (file) + (install-file file lib) + (delete-file file)) + (find-files "." "\\.(a|so)$")) + (for-each (lambda (file) + (install-file file bin) + (delete-file file)) + '("JxrDecApp" "JxrEncApp"))) + #t))))) (synopsis "Implementation of the JPEG XR standard") (description "JPEG XR is an approved ISO/IEC International standard (its official designation is ISO/IEC 29199-2). This library is an implementation of that standard.") -- cgit v1.2.3 From 8dc3c2a7d5fbe28b6f8ae27788b053be0d87b0b6 Mon Sep 17 00:00:00 2001 From: Kei Kebrau Date: Mon, 7 Jan 2019 19:36:49 -0500 Subject: gnu: freeimage: Update to 3.18.0. * gnu/packages/image.scm (freeimage): Update to 3.18.0. [source]: Modify snippet to remove the bundled libjxr. Remove obsolete patches. [arguments]: Add libjxr include directory to #:make-flags. [inputs]: Add libjxr. * gnu/packages/patches/freeimage-CVE-2015-0852.patch, gnu/packages/patches/freeimage-CVE-2016-5684.patch, gnu/packages/patches/freeimage-fix-build-with-gcc-5.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Unregister patches. * gnu/packages/patches/freeimage-unbundle.patch: Update patch. Signed-off-by: Marius Bakke --- gnu/local.mk | 3 - gnu/packages/image.scm | 16 +- gnu/packages/patches/freeimage-CVE-2015-0852.patch | 129 -- gnu/packages/patches/freeimage-CVE-2016-5684.patch | 34 - .../patches/freeimage-fix-build-with-gcc-5.patch | 1453 -------------------- gnu/packages/patches/freeimage-unbundle.patch | 167 ++- 6 files changed, 138 insertions(+), 1664 deletions(-) delete mode 100644 gnu/packages/patches/freeimage-CVE-2015-0852.patch delete mode 100644 gnu/packages/patches/freeimage-CVE-2016-5684.patch delete mode 100644 gnu/packages/patches/freeimage-fix-build-with-gcc-5.patch diff --git a/gnu/local.mk b/gnu/local.mk index 23fc317d50..919e836b8c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -828,9 +828,6 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ - %D%/packages/patches/freeimage-CVE-2015-0852.patch \ - %D%/packages/patches/freeimage-CVE-2016-5684.patch \ - %D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index d1a4a58575..d03f4548c5 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -957,7 +957,7 @@ (define-public giblib (define-public freeimage (package (name "freeimage") - (version "3.17.0") + (version "3.18.0") (source (origin (method url-fetch) (uri (string-append @@ -967,7 +967,7 @@ (define-public freeimage ".zip")) (sha256 (base32 - "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")) + "1z9qwi9mlq69d5jipr3v2jika2g0kszqdzilggm99nls5xl7j4zl")) (modules '((guix build utils))) (snippet '(begin @@ -975,12 +975,8 @@ (define-public freeimage (lambda (dir) (delete-file-recursively (string-append "Source/" dir))) '("LibJPEG" "LibOpenJPEG" "LibPNG" "LibRawLite" - ;; "LibJXR" - "LibWebP" "OpenEXR" "ZLib")))) - (patches (search-patches "freeimage-unbundle.patch" - "freeimage-CVE-2015-0852.patch" - "freeimage-CVE-2016-5684.patch" - "freeimage-fix-build-with-gcc-5.patch")))) + "LibJXR" "LibWebP" "OpenEXR" "ZLib")))) + (patches (search-patches "freeimage-unbundle.patch")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1011,7 +1007,7 @@ (define-public freeimage ;; We need '-fpermissive' for Source/FreeImage.h. ;; libjxr doesn't have a pkg-config file. (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive " - ;;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib" + "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib " ;; FIXME: OpenEXR 2.4.0 requires C++11 or later. ;; Remove when the default compiler is > GCC 5. @@ -1022,7 +1018,7 @@ (define-public freeimage ("unzip" ,unzip))) (inputs `(("libjpeg" ,libjpeg) - ;("libjxr" ,libjxr) + ("libjxr" ,libjxr) ("libpng" ,libpng) ("libraw" ,libraw) ("libtiff" ,libtiff) diff --git a/gnu/packages/patches/freeimage-CVE-2015-0852.patch b/gnu/packages/patches/freeimage-CVE-2015-0852.patch deleted file mode 100644 index 34d538e925..0000000000 --- a/gnu/packages/patches/freeimage-CVE-2015-0852.patch +++ /dev/null @@ -1,129 +0,0 @@ -Copied from Debian. - -Description: fix integer overflow -Origin: upstream - http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginPCX.cpp?view=patch&r1=1.17&r2=1.18&pathrev=MAIN - http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginPCX.cpp?view=patch&r1=1.18&r2=1.19&pathrev=MAIN -Bug-Debian: https://bugs.debian.org/797165 -Last-Update: 2015-09-14 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: freeimage/Source/FreeImage/PluginPCX.cpp -=================================================================== ---- freeimage.orig/Source/FreeImage/PluginPCX.cpp -+++ freeimage/Source/FreeImage/PluginPCX.cpp -@@ -347,12 +347,14 @@ Load(FreeImageIO *io, fi_handle handle, - - try { - // check PCX identifier -- -- long start_pos = io->tell_proc(handle); -- BOOL validated = pcx_validate(io, handle); -- io->seek_proc(handle, start_pos, SEEK_SET); -- if(!validated) { -- throw FI_MSG_ERROR_MAGIC_NUMBER; -+ // (note: should have been already validated using FreeImage_GetFileType but check again) -+ { -+ long start_pos = io->tell_proc(handle); -+ BOOL validated = pcx_validate(io, handle); -+ io->seek_proc(handle, start_pos, SEEK_SET); -+ if(!validated) { -+ throw FI_MSG_ERROR_MAGIC_NUMBER; -+ } - } - - // process the header -@@ -366,20 +368,38 @@ Load(FreeImageIO *io, fi_handle handle, - SwapHeader(&header); - #endif - -- // allocate a new DIB -+ // process the window -+ const WORD *window = header.window; // left, upper, right,lower pixel coord. -+ const int left = window[0]; -+ const int top = window[1]; -+ const int right = window[2]; -+ const int bottom = window[3]; - -- unsigned width = header.window[2] - header.window[0] + 1; -- unsigned height = header.window[3] - header.window[1] + 1; -- unsigned bitcount = header.bpp * header.planes; -- -- if (bitcount == 24) { -- dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK); -- } else { -- dib = FreeImage_AllocateHeader(header_only, width, height, bitcount); -+ // check image size -+ if((left >= right) || (top >= bottom)) { -+ throw FI_MSG_ERROR_PARSING; - } - -- // if the dib couldn't be allocated, throw an error -+ const unsigned width = right - left + 1; -+ const unsigned height = bottom - top + 1; -+ const unsigned bitcount = header.bpp * header.planes; -+ -+ // allocate a new DIB -+ switch(bitcount) { -+ case 1: -+ case 4: -+ case 8: -+ dib = FreeImage_AllocateHeader(header_only, width, height, bitcount); -+ break; -+ case 24: -+ dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK); -+ break; -+ default: -+ throw FI_MSG_ERROR_DIB_MEMORY; -+ break; -+ } - -+ // if the dib couldn't be allocated, throw an error - if (!dib) { - throw FI_MSG_ERROR_DIB_MEMORY; - } -@@ -426,19 +446,23 @@ Load(FreeImageIO *io, fi_handle handle, - - if (palette_id == 0x0C) { - BYTE *cmap = (BYTE*)malloc(768 * sizeof(BYTE)); -- io->read_proc(cmap, 768, 1, handle); - -- pal = FreeImage_GetPalette(dib); -- BYTE *pColormap = &cmap[0]; -+ if(cmap) { -+ io->read_proc(cmap, 768, 1, handle); - -- for(int i = 0; i < 256; i++) { -- pal[i].rgbRed = pColormap[0]; -- pal[i].rgbGreen = pColormap[1]; -- pal[i].rgbBlue = pColormap[2]; -- pColormap += 3; -+ pal = FreeImage_GetPalette(dib); -+ BYTE *pColormap = &cmap[0]; -+ -+ for(int i = 0; i < 256; i++) { -+ pal[i].rgbRed = pColormap[0]; -+ pal[i].rgbGreen = pColormap[1]; -+ pal[i].rgbBlue = pColormap[2]; -+ pColormap += 3; -+ } -+ -+ free(cmap); - } - -- free(cmap); - } - - // wrong palette ID, perhaps a gray scale is needed ? -@@ -466,9 +490,9 @@ Load(FreeImageIO *io, fi_handle handle, - // calculate the line length for the PCX and the DIB - - // length of raster line in bytes -- unsigned linelength = header.bytes_per_line * header.planes; -+ const unsigned linelength = header.bytes_per_line * header.planes; - // length of DIB line (rounded to DWORD) in bytes -- unsigned pitch = FreeImage_GetPitch(dib); -+ const unsigned pitch = FreeImage_GetPitch(dib); - - // run-length encoding ? - diff --git a/gnu/packages/patches/freeimage-CVE-2016-5684.patch b/gnu/packages/patches/freeimage-CVE-2016-5684.patch deleted file mode 100644 index 2fc02d7b0d..0000000000 --- a/gnu/packages/patches/freeimage-CVE-2016-5684.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Debian Science Maintainers - -Date: Mon, 10 Oct 2016 08:22:44 +0100 -Subject: CVE-2016-5684 - ---- - Source/FreeImage/PluginXPM.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/Source/FreeImage/PluginXPM.cpp b/Source/FreeImage/PluginXPM.cpp -index a698321..cc7bd07 100644 ---- a/Source/FreeImage/PluginXPM.cpp -+++ b/Source/FreeImage/PluginXPM.cpp -@@ -181,6 +181,11 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) { - } - free(str); - -+ // check info string -+ if((width <= 0) || (height <= 0) || (colors <= 0) || (cpp <= 0)) { -+ throw "Improperly formed info string"; -+ } -+ - if (colors > 256) { - dib = FreeImage_AllocateHeader(header_only, width, height, 24, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK); - } else { -@@ -193,7 +198,7 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) { - FILE_RGBA rgba; - - str = ReadString(io, handle); -- if(!str) -+ if(!str || (strlen(str) < (size_t)cpp)) - throw "Error reading color strings"; - - std::string chrs(str,cpp); //create a string for the color chars using the first cpp chars diff --git a/gnu/packages/patches/freeimage-fix-build-with-gcc-5.patch b/gnu/packages/patches/freeimage-fix-build-with-gcc-5.patch deleted file mode 100644 index 2c9f2c3357..0000000000 --- a/gnu/packages/patches/freeimage-fix-build-with-gcc-5.patch +++ /dev/null @@ -1,1453 +0,0 @@ -The original patch was downloaded from here: -https://chromium-review.googlesource.com/c/297211 - -The paths, file names, and line endings have been adapted. - -From eebaf97f5a1cb713d81d311308d8a48c124e5aef Mon Sep 17 00:00:00 2001 -From: James Zern -Date: Wed, 02 Sep 2015 23:21:13 -0700 -Subject: [PATCH] dsp/mips: add whitespace around stringizing operator - -fixes compile with gcc 5.1 -BUG=259 - -Change-Id: Ideb39c6290ab8569b1b6cc835bea11c822d0286c ---- - -diff --git a/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -index 6590f43..40e4d82 100644 ---- a/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -@@ -548,10 +548,10 @@ - // TEMP3 = SRC[D + D1 * BPS] - #define LOAD_4_BYTES(TEMP0, TEMP1, TEMP2, TEMP3, \ - A, A1, B, B1, C, C1, D, D1, SRC) \ -- "lbu %["#TEMP0"], "#A"+"#A1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP1"], "#B"+"#B1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP2"], "#C"+"#C1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP3"], "#D"+"#D1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -+ "lbu %[" #TEMP0 "], " #A "+" #A1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP1 "], " #B "+" #B1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP2 "], " #C "+" #C1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP3 "], " #D "+" #D1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ - - static void SimpleHFilter16(uint8_t* p, int stride, int thresh) { - int i; -@@ -623,8 +623,8 @@ - // DST[A * BPS] = TEMP0 - // DST[B + C * BPS] = TEMP1 - #define STORE_8_BYTES(TEMP0, TEMP1, A, B, C, DST) \ -- "usw %["#TEMP0"], "#A"*"XSTR(BPS)"(%["#DST"]) \n\t" \ -- "usw %["#TEMP1"], "#B"+"#C"*"XSTR(BPS)"(%["#DST"]) \n\t" -+ "usw %[" #TEMP0 "], " #A "*"XSTR(BPS)"(%[" #DST "]) \n\t" \ -+ "usw %[" #TEMP1 "], " #B "+" #C "*"XSTR(BPS)"(%[" #DST "]) \n\t" - - static void VE4(uint8_t* dst) { // vertical - const uint8_t* top = dst - BPS; -@@ -725,8 +725,8 @@ - // TEMP0 = SRC[A * BPS] - // TEMP1 = SRC[B + C * BPS] - #define LOAD_8_BYTES(TEMP0, TEMP1, A, B, C, SRC) \ -- "ulw %["#TEMP0"], "#A"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "ulw %["#TEMP1"], "#B"+"#C"*"XSTR(BPS)"(%["#SRC"]) \n\t" -+ "ulw %[" #TEMP0 "], " #A "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "ulw %[" #TEMP1 "], " #B "+" #C "*"XSTR(BPS)"(%[" #SRC "]) \n\t" - - static void LD4(uint8_t* dst) { // Down-Left - int temp0, temp1, temp2, temp3, temp4; -@@ -873,24 +873,24 @@ - #define CLIPPING(SIZE) \ - "preceu.ph.qbl %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp0], %[temp0] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "preceu.ph.qbl %[temp3], %[temp1] \n\t" \ - "preceu.ph.qbr %[temp1], %[temp1] \n\t" \ - ".endif \n\t" \ - "addu.ph %[temp2], %[temp2], %[dst_1] \n\t" \ - "addu.ph %[temp0], %[temp0], %[dst_1] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "addu.ph %[temp3], %[temp3], %[dst_1] \n\t" \ - "addu.ph %[temp1], %[temp1], %[dst_1] \n\t" \ - ".endif \n\t" \ - "shll_s.ph %[temp2], %[temp2], 7 \n\t" \ - "shll_s.ph %[temp0], %[temp0], 7 \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "shll_s.ph %[temp3], %[temp3], 7 \n\t" \ - "shll_s.ph %[temp1], %[temp1], 7 \n\t" \ - ".endif \n\t" \ - "precrqu_s.qb.ph %[temp0], %[temp2], %[temp0] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "precrqu_s.qb.ph %[temp1], %[temp3], %[temp1] \n\t" \ - ".endif \n\t" - -@@ -899,7 +899,7 @@ - int dst_1 = ((int)(DST)[-1] << 16) + (DST)[-1]; \ - int temp0, temp1, temp2, temp3; \ - __asm__ volatile ( \ -- ".if "#SIZE" < 8 \n\t" \ -+ ".if " #SIZE " < 8 \n\t" \ - "ulw %[temp0], 0(%[top]) \n\t" \ - "subu.ph %[dst_1], %[dst_1], %[top_1] \n\t" \ - CLIPPING(4) \ -@@ -911,7 +911,7 @@ - CLIPPING(8) \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING(8) \ -diff --git a/Source/LibWebP/src/dsp/dsp.enc_mips32.c b/Source/LibWebP/src/dsp/dsp.enc_mips32.c -index c5837f1..b50e08b 100644 ---- a/Source/LibWebP/src/dsp/dsp.enc_mips32.c -+++ b/Source/LibWebP/src/dsp/dsp.enc_mips32.c -@@ -31,26 +31,26 @@ - // TEMP0..TEMP3 - registers for corresponding tmp elements - // TEMP4..TEMP5 - temporary registers - #define VERTICAL_PASS(A, B, C, D, TEMP4, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lh %[temp16], "#A"(%[temp20]) \n\t" \ -- "lh %[temp18], "#B"(%[temp20]) \n\t" \ -- "lh %[temp17], "#C"(%[temp20]) \n\t" \ -- "lh %[temp19], "#D"(%[temp20]) \n\t" \ -- "addu %["#TEMP4"], %[temp16], %[temp18] \n\t" \ -- "subu %[temp16], %[temp16], %[temp18] \n\t" \ -- "mul %["#TEMP0"], %[temp17], %[kC2] \n\t" \ -- "mul %[temp18], %[temp19], %[kC1] \n\t" \ -- "mul %[temp17], %[temp17], %[kC1] \n\t" \ -- "mul %[temp19], %[temp19], %[kC2] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 16 \n\n" \ -- "sra %[temp18], %[temp18], 16 \n\n" \ -- "sra %[temp17], %[temp17], 16 \n\n" \ -- "sra %[temp19], %[temp19], 16 \n\n" \ -- "subu %["#TEMP2"], %["#TEMP0"], %[temp18] \n\t" \ -- "addu %["#TEMP3"], %[temp17], %[temp19] \n\t" \ -- "addu %["#TEMP0"], %["#TEMP4"], %["#TEMP3"] \n\t" \ -- "addu %["#TEMP1"], %[temp16], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP2"], %[temp16], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP3"], %["#TEMP4"], %["#TEMP3"] \n\t" -+ "lh %[temp16], " #A "(%[temp20]) \n\t" \ -+ "lh %[temp18], " #B "(%[temp20]) \n\t" \ -+ "lh %[temp17], " #C "(%[temp20]) \n\t" \ -+ "lh %[temp19], " #D "(%[temp20]) \n\t" \ -+ "addu %[" #TEMP4 "], %[temp16], %[temp18] \n\t" \ -+ "subu %[temp16], %[temp16], %[temp18] \n\t" \ -+ "mul %[" #TEMP0 "], %[temp17], %[kC2] \n\t" \ -+ "mul %[temp18], %[temp19], %[kC1] \n\t" \ -+ "mul %[temp17], %[temp17], %[kC1] \n\t" \ -+ "mul %[temp19], %[temp19], %[kC2] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\n" \ -+ "sra %[temp18], %[temp18], 16 \n\n" \ -+ "sra %[temp17], %[temp17], 16 \n\n" \ -+ "sra %[temp19], %[temp19], 16 \n\n" \ -+ "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp18] \n\t" \ -+ "addu %[" #TEMP3 "], %[temp17], %[temp19] \n\t" \ -+ "addu %[" #TEMP0 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" \ -+ "addu %[" #TEMP1 "], %[temp16], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp16], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP3 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" - - // macro for one horizontal pass in ITransformOne - // MUL and STORE macros inlined -@@ -58,59 +58,59 @@ - // temp0..temp15 holds tmp[0]..tmp[15] - // A - offset in bytes to load from ref and store to dst buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements --#define HORIZONTAL_PASS(A, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addiu %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "subu %[temp17], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP0"], %["#TEMP4"], %[kC2] \n\t" \ -- "mul %["#TEMP8"], %["#TEMP12"], %[kC1] \n\t" \ -- "mul %["#TEMP4"], %["#TEMP4"], %[kC1] \n\t" \ -- "mul %["#TEMP12"], %["#TEMP12"], %[kC2] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 16 \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "subu %[temp18], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "addu %[temp19], %["#TEMP4"], %["#TEMP12"] \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp19] \n\t" \ -- "addu %["#TEMP4"], %[temp17], %[temp18] \n\t" \ -- "subu %["#TEMP8"], %[temp17], %[temp18] \n\t" \ -- "subu %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -- "lw %[temp20], 0(%[args]) \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 3 \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 3 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 3 \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 3 \n\t" \ -- "lbu %[temp16], 0+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp17], 1+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp18], 2+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp19], 3+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "addu %["#TEMP0"], %[temp16], %["#TEMP0"] \n\t" \ -- "addu %["#TEMP4"], %[temp17], %["#TEMP4"] \n\t" \ -- "addu %["#TEMP8"], %[temp18], %["#TEMP8"] \n\t" \ -- "addu %["#TEMP12"], %[temp19], %["#TEMP12"] \n\t" \ -- "slt %[temp16], %["#TEMP0"], $zero \n\t" \ -- "slt %[temp17], %["#TEMP4"], $zero \n\t" \ -- "slt %[temp18], %["#TEMP8"], $zero \n\t" \ -- "slt %[temp19], %["#TEMP12"], $zero \n\t" \ -- "movn %["#TEMP0"], $zero, %[temp16] \n\t" \ -- "movn %["#TEMP4"], $zero, %[temp17] \n\t" \ -- "movn %["#TEMP8"], $zero, %[temp18] \n\t" \ -- "movn %["#TEMP12"], $zero, %[temp19] \n\t" \ -- "addiu %[temp20], $zero, 255 \n\t" \ -- "slt %[temp16], %["#TEMP0"], %[temp20] \n\t" \ -- "slt %[temp17], %["#TEMP4"], %[temp20] \n\t" \ -- "slt %[temp18], %["#TEMP8"], %[temp20] \n\t" \ -- "slt %[temp19], %["#TEMP12"], %[temp20] \n\t" \ -- "movz %["#TEMP0"], %[temp20], %[temp16] \n\t" \ -- "movz %["#TEMP4"], %[temp20], %[temp17] \n\t" \ -- "lw %[temp16], 8(%[args]) \n\t" \ -- "movz %["#TEMP8"], %[temp20], %[temp18] \n\t" \ -- "movz %["#TEMP12"], %[temp20], %[temp19] \n\t" \ -- "sb %["#TEMP0"], 0+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP4"], 1+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP8"], 2+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP12"], 3+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" -+#define HORIZONTAL_PASS(A, TEMP0, TEMP4, TEMP8, TEMP12) \ -+ "addiu %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp17], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP0 "], %[" #TEMP4 "], %[kC2] \n\t" \ -+ "mul %[" #TEMP8 "], %[" #TEMP12 "], %[kC1] \n\t" \ -+ "mul %[" #TEMP4 "], %[" #TEMP4 "], %[kC1] \n\t" \ -+ "mul %[" #TEMP12 "], %[" #TEMP12 "], %[kC2] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 16 \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "subu %[temp18], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "addu %[temp19], %[" #TEMP4 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[temp19] \n\t" \ -+ "addu %[" #TEMP4 "], %[temp17], %[temp18] \n\t" \ -+ "subu %[" #TEMP8 "], %[temp17], %[temp18] \n\t" \ -+ "subu %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ -+ "lw %[temp20], 0(%[args]) \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 3 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 3 \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 3 \n\t" \ -+ "lbu %[temp16], 0+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp17], 1+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp18], 2+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp19], 3+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[" #TEMP0 "] \n\t" \ -+ "addu %[" #TEMP4 "], %[temp17], %[" #TEMP4 "] \n\t" \ -+ "addu %[" #TEMP8 "], %[temp18], %[" #TEMP8 "] \n\t" \ -+ "addu %[" #TEMP12 "], %[temp19], %[" #TEMP12 "] \n\t" \ -+ "slt %[temp16], %[" #TEMP0 "], $zero \n\t" \ -+ "slt %[temp17], %[" #TEMP4 "], $zero \n\t" \ -+ "slt %[temp18], %[" #TEMP8 "], $zero \n\t" \ -+ "slt %[temp19], %[" #TEMP12 "], $zero \n\t" \ -+ "movn %[" #TEMP0 "], $zero, %[temp16] \n\t" \ -+ "movn %[" #TEMP4 "], $zero, %[temp17] \n\t" \ -+ "movn %[" #TEMP8 "], $zero, %[temp18] \n\t" \ -+ "movn %[" #TEMP12 "], $zero, %[temp19] \n\t" \ -+ "addiu %[temp20], $zero, 255 \n\t" \ -+ "slt %[temp16], %[" #TEMP0 "], %[temp20] \n\t" \ -+ "slt %[temp17], %[" #TEMP4 "], %[temp20] \n\t" \ -+ "slt %[temp18], %[" #TEMP8 "], %[temp20] \n\t" \ -+ "slt %[temp19], %[" #TEMP12 "], %[temp20] \n\t" \ -+ "movz %[" #TEMP0 "], %[temp20], %[temp16] \n\t" \ -+ "movz %[" #TEMP4 "], %[temp20], %[temp17] \n\t" \ -+ "lw %[temp16], 8(%[args]) \n\t" \ -+ "movz %[" #TEMP8 "], %[temp20], %[temp18] \n\t" \ -+ "movz %[" #TEMP12 "], %[temp20], %[temp19] \n\t" \ -+ "sb %[" #TEMP0 "], 0+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP4 "], 1+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP8 "], 2+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP12 "], 3+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" - - // Does one or two inverse transforms. - static WEBP_INLINE void ITransformOne(const uint8_t* ref, const int16_t* in, -@@ -161,9 +161,9 @@ - // K - offset in bytes (kZigzag[n] * 4) - // N - offset in bytes (n * 2) - #define QUANTIZE_ONE(J, K, N) \ -- "lh %[temp0], "#J"(%[ppin]) \n\t" \ -- "lhu %[temp1], "#J"(%[ppsharpen]) \n\t" \ -- "lw %[temp2], "#K"(%[ppzthresh]) \n\t" \ -+ "lh %[temp0], " #J "(%[ppin]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppsharpen]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppzthresh]) \n\t" \ - "sra %[sign], %[temp0], 15 \n\t" \ - "xor %[coeff], %[temp0], %[sign] \n\t" \ - "subu %[coeff], %[coeff], %[sign] \n\t" \ -@@ -172,9 +172,9 @@ - "addiu %[temp5], $zero, 0 \n\t" \ - "addiu %[level], $zero, 0 \n\t" \ - "beqz %[temp4], 2f \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -- "lhu %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ -+ "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "mul %[level], %[coeff], %[temp1] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ -@@ -184,8 +184,8 @@ - "subu %[level], %[level], %[sign] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "2: \n\t" \ -- "sh %[temp5], "#J"(%[ppin]) \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" -+ "sh %[temp5], " #J "(%[ppin]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" - - static int QuantizeBlock(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { -@@ -253,39 +253,39 @@ - // A - offset in bytes to load from a and b buffers - // E..H - offsets in bytes to store first results to tmp buffer - // E1..H1 - offsets in bytes to store second results to tmp buffer --#define HORIZONTAL_PASS(A, E, F, G, H, E1, F1, G1, H1) \ -- "lbu %[temp0], 0+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp1], 1+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp2], 2+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp3], 3+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp4], 0+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp5], 1+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp6], 2+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp7], 3+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "addu %[temp8], %[temp0], %[temp2] \n\t" \ -- "subu %[temp0], %[temp0], %[temp2] \n\t" \ -- "addu %[temp2], %[temp1], %[temp3] \n\t" \ -- "subu %[temp1], %[temp1], %[temp3] \n\t" \ -- "addu %[temp3], %[temp4], %[temp6] \n\t" \ -- "subu %[temp4], %[temp4], %[temp6] \n\t" \ -- "addu %[temp6], %[temp5], %[temp7] \n\t" \ -- "subu %[temp5], %[temp5], %[temp7] \n\t" \ -- "addu %[temp7], %[temp8], %[temp2] \n\t" \ -- "subu %[temp2], %[temp8], %[temp2] \n\t" \ -- "addu %[temp8], %[temp0], %[temp1] \n\t" \ -- "subu %[temp0], %[temp0], %[temp1] \n\t" \ -- "addu %[temp1], %[temp3], %[temp6] \n\t" \ -- "subu %[temp3], %[temp3], %[temp6] \n\t" \ -- "addu %[temp6], %[temp4], %[temp5] \n\t" \ -- "subu %[temp4], %[temp4], %[temp5] \n\t" \ -- "sw %[temp7], "#E"(%[tmp]) \n\t" \ -- "sw %[temp2], "#H"(%[tmp]) \n\t" \ -- "sw %[temp8], "#F"(%[tmp]) \n\t" \ -- "sw %[temp0], "#G"(%[tmp]) \n\t" \ -- "sw %[temp1], "#E1"(%[tmp]) \n\t" \ -- "sw %[temp3], "#H1"(%[tmp]) \n\t" \ -- "sw %[temp6], "#F1"(%[tmp]) \n\t" \ -- "sw %[temp4], "#G1"(%[tmp]) \n\t" -+#define HORIZONTAL_PASS(A, E, F, G, H, E1, F1, G1, H1) \ -+ "lbu %[temp0], 0+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp1], 1+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp2], 2+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp3], 3+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp4], 0+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp5], 1+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp6], 2+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp7], 3+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "addu %[temp8], %[temp0], %[temp2] \n\t" \ -+ "subu %[temp0], %[temp0], %[temp2] \n\t" \ -+ "addu %[temp2], %[temp1], %[temp3] \n\t" \ -+ "subu %[temp1], %[temp1], %[temp3] \n\t" \ -+ "addu %[temp3], %[temp4], %[temp6] \n\t" \ -+ "subu %[temp4], %[temp4], %[temp6] \n\t" \ -+ "addu %[temp6], %[temp5], %[temp7] \n\t" \ -+ "subu %[temp5], %[temp5], %[temp7] \n\t" \ -+ "addu %[temp7], %[temp8], %[temp2] \n\t" \ -+ "subu %[temp2], %[temp8], %[temp2] \n\t" \ -+ "addu %[temp8], %[temp0], %[temp1] \n\t" \ -+ "subu %[temp0], %[temp0], %[temp1] \n\t" \ -+ "addu %[temp1], %[temp3], %[temp6] \n\t" \ -+ "subu %[temp3], %[temp3], %[temp6] \n\t" \ -+ "addu %[temp6], %[temp4], %[temp5] \n\t" \ -+ "subu %[temp4], %[temp4], %[temp5] \n\t" \ -+ "sw %[temp7], " #E "(%[tmp]) \n\t" \ -+ "sw %[temp2], " #H "(%[tmp]) \n\t" \ -+ "sw %[temp8], " #F "(%[tmp]) \n\t" \ -+ "sw %[temp0], " #G "(%[tmp]) \n\t" \ -+ "sw %[temp1], " #E1 "(%[tmp]) \n\t" \ -+ "sw %[temp3], " #H1 "(%[tmp]) \n\t" \ -+ "sw %[temp6], " #F1 "(%[tmp]) \n\t" \ -+ "sw %[temp4], " #G1 "(%[tmp]) \n\t" - - // macro for one vertical pass in Disto4x4 (TTransform) - // two calls of function TTransform are merged into single one -@@ -300,10 +300,10 @@ - // A1..D1 - offsets in bytes to load second results from tmp buffer - // E..H - offsets in bytes to load from w buffer - #define VERTICAL_PASS(A, B, C, D, A1, B1, C1, D1, E, F, G, H) \ -- "lw %[temp0], "#A1"(%[tmp]) \n\t" \ -- "lw %[temp1], "#C1"(%[tmp]) \n\t" \ -- "lw %[temp2], "#B1"(%[tmp]) \n\t" \ -- "lw %[temp3], "#D1"(%[tmp]) \n\t" \ -+ "lw %[temp0], " #A1 "(%[tmp]) \n\t" \ -+ "lw %[temp1], " #C1 "(%[tmp]) \n\t" \ -+ "lw %[temp2], " #B1 "(%[tmp]) \n\t" \ -+ "lw %[temp3], " #D1 "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ -@@ -324,18 +324,18 @@ - "subu %[temp1], %[temp1], %[temp5] \n\t" \ - "subu %[temp0], %[temp0], %[temp6] \n\t" \ - "subu %[temp8], %[temp8], %[temp7] \n\t" \ -- "lhu %[temp4], "#E"(%[w]) \n\t" \ -- "lhu %[temp5], "#F"(%[w]) \n\t" \ -- "lhu %[temp6], "#G"(%[w]) \n\t" \ -- "lhu %[temp7], "#H"(%[w]) \n\t" \ -+ "lhu %[temp4], " #E "(%[w]) \n\t" \ -+ "lhu %[temp5], " #F "(%[w]) \n\t" \ -+ "lhu %[temp6], " #G "(%[w]) \n\t" \ -+ "lhu %[temp7], " #H "(%[w]) \n\t" \ - "madd %[temp4], %[temp3] \n\t" \ - "madd %[temp5], %[temp1] \n\t" \ - "madd %[temp6], %[temp0] \n\t" \ - "madd %[temp7], %[temp8] \n\t" \ -- "lw %[temp0], "#A"(%[tmp]) \n\t" \ -- "lw %[temp1], "#C"(%[tmp]) \n\t" \ -- "lw %[temp2], "#B"(%[tmp]) \n\t" \ -- "lw %[temp3], "#D"(%[tmp]) \n\t" \ -+ "lw %[temp0], " #A "(%[tmp]) \n\t" \ -+ "lw %[temp1], " #C "(%[tmp]) \n\t" \ -+ "lw %[temp2], " #B "(%[tmp]) \n\t" \ -+ "lw %[temp3], " #D "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ -@@ -412,71 +412,71 @@ - // temp0..temp15 holds tmp[0]..tmp[15] - // A - offset in bytes to load from src and ref buffers - // TEMP0..TEMP3 - registers for corresponding tmp elements --#define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lw %["#TEMP1"], 0(%[args]) \n\t" \ -- "lw %["#TEMP2"], 4(%[args]) \n\t" \ -- "lbu %[temp16], 0+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp17], 0+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "lbu %[temp18], 1+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp19], 1+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "subu %[temp20], %[temp16], %[temp17] \n\t" \ -- "lbu %[temp16], 2+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp17], 2+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "subu %["#TEMP0"], %[temp18], %[temp19] \n\t" \ -- "lbu %[temp18], 3+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp19], 3+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "subu %["#TEMP1"], %[temp16], %[temp17] \n\t" \ -- "subu %["#TEMP2"], %[temp18], %[temp19] \n\t" \ -- "addu %["#TEMP3"], %[temp20], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP2"], %[temp20], %["#TEMP2"] \n\t" \ -- "addu %[temp20], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "subu %["#TEMP0"], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "mul %[temp16], %["#TEMP2"], %[c5352] \n\t" \ -- "mul %[temp17], %["#TEMP2"], %[c2217] \n\t" \ -- "mul %[temp18], %["#TEMP0"], %[c5352] \n\t" \ -- "mul %[temp19], %["#TEMP0"], %[c2217] \n\t" \ -- "addu %["#TEMP1"], %["#TEMP3"], %[temp20] \n\t" \ -- "subu %[temp20], %["#TEMP3"], %[temp20] \n\t" \ -- "sll %["#TEMP0"], %["#TEMP1"], 3 \n\t" \ -- "sll %["#TEMP2"], %[temp20], 3 \n\t" \ -- "addiu %[temp16], %[temp16], 1812 \n\t" \ -- "addiu %[temp17], %[temp17], 937 \n\t" \ -- "addu %[temp16], %[temp16], %[temp19] \n\t" \ -- "subu %[temp17], %[temp17], %[temp18] \n\t" \ -- "sra %["#TEMP1"], %[temp16], 9 \n\t" \ -- "sra %["#TEMP3"], %[temp17], 9 \n\t" -+#define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ -+ "lw %[" #TEMP1 "], 0(%[args]) \n\t" \ -+ "lw %[" #TEMP2 "], 4(%[args]) \n\t" \ -+ "lbu %[temp16], 0+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp17], 0+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "lbu %[temp18], 1+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp19], 1+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "subu %[temp20], %[temp16], %[temp17] \n\t" \ -+ "lbu %[temp16], 2+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp17], 2+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "subu %[" #TEMP0 "], %[temp18], %[temp19] \n\t" \ -+ "lbu %[temp18], 3+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp19], 3+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "subu %[" #TEMP1 "], %[temp16], %[temp17] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp18], %[temp19] \n\t" \ -+ "addu %[" #TEMP3 "], %[temp20], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp20], %[" #TEMP2 "] \n\t" \ -+ "addu %[temp20], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "subu %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "mul %[temp16], %[" #TEMP2 "], %[c5352] \n\t" \ -+ "mul %[temp17], %[" #TEMP2 "], %[c2217] \n\t" \ -+ "mul %[temp18], %[" #TEMP0 "], %[c5352] \n\t" \ -+ "mul %[temp19], %[" #TEMP0 "], %[c2217] \n\t" \ -+ "addu %[" #TEMP1 "], %[" #TEMP3 "], %[temp20] \n\t" \ -+ "subu %[temp20], %[" #TEMP3 "], %[temp20] \n\t" \ -+ "sll %[" #TEMP0 "], %[" #TEMP1 "], 3 \n\t" \ -+ "sll %[" #TEMP2 "], %[temp20], 3 \n\t" \ -+ "addiu %[temp16], %[temp16], 1812 \n\t" \ -+ "addiu %[temp17], %[temp17], 937 \n\t" \ -+ "addu %[temp16], %[temp16], %[temp19] \n\t" \ -+ "subu %[temp17], %[temp17], %[temp18] \n\t" \ -+ "sra %[" #TEMP1 "], %[temp16], 9 \n\t" \ -+ "sra %[" #TEMP3 "], %[temp17], 9 \n\t" - - // macro for one vertical pass in FTransform - // temp0..temp15 holds tmp[0]..tmp[15] - // A..D - offsets in bytes to store to out buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements --#define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "subu %[temp19], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "addu %[temp17], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "subu %[temp18], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP8"], %[temp19], %[c2217] \n\t" \ -- "mul %["#TEMP12"], %[temp18], %[c2217] \n\t" \ -- "mul %["#TEMP4"], %[temp19], %[c5352] \n\t" \ -- "mul %[temp18], %[temp18], %[c5352] \n\t" \ -- "addiu %[temp16], %[temp16], 7 \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %["#TEMP12"], %["#TEMP12"], %["#TEMP4"] \n\t" \ -- "subu %["#TEMP4"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 4 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 30000 \n\t" \ -- "addiu %["#TEMP12"], %["#TEMP12"], 12000 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 21000 \n\t" \ -- "subu %["#TEMP8"], %["#TEMP8"], %[temp18] \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "addiu %[temp16], %["#TEMP12"], 1 \n\t" \ -- "movn %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -- "sh %["#TEMP0"], "#A"(%[temp20]) \n\t" \ -- "sh %["#TEMP4"], "#C"(%[temp20]) \n\t" \ -- "sh %["#TEMP8"], "#D"(%[temp20]) \n\t" \ -- "sh %["#TEMP12"], "#B"(%[temp20]) \n\t" -+#define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ -+ "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ -+ "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ -+ "mul %[temp18], %[temp18], %[c5352] \n\t" \ -+ "addiu %[temp16], %[temp16], 7 \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ -+ "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ -+ "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ -+ "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ -+ "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ -+ "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - - static void FTransform(const uint8_t* src, const uint8_t* ref, int16_t* out) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; -@@ -516,14 +516,14 @@ - #if !defined(WORK_AROUND_GCC) - - #define GET_SSE_INNER(A, B, C, D) \ -- "lbu %[temp0], "#A"(%[a]) \n\t" \ -- "lbu %[temp1], "#A"(%[b]) \n\t" \ -- "lbu %[temp2], "#B"(%[a]) \n\t" \ -- "lbu %[temp3], "#B"(%[b]) \n\t" \ -- "lbu %[temp4], "#C"(%[a]) \n\t" \ -- "lbu %[temp5], "#C"(%[b]) \n\t" \ -- "lbu %[temp6], "#D"(%[a]) \n\t" \ -- "lbu %[temp7], "#D"(%[b]) \n\t" \ -+ "lbu %[temp0], " #A "(%[a]) \n\t" \ -+ "lbu %[temp1], " #A "(%[b]) \n\t" \ -+ "lbu %[temp2], " #B "(%[a]) \n\t" \ -+ "lbu %[temp3], " #B "(%[b]) \n\t" \ -+ "lbu %[temp4], " #C "(%[a]) \n\t" \ -+ "lbu %[temp5], " #C "(%[b]) \n\t" \ -+ "lbu %[temp6], " #D "(%[a]) \n\t" \ -+ "lbu %[temp7], " #D "(%[b]) \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "subu %[temp2], %[temp2], %[temp3] \n\t" \ - "subu %[temp4], %[temp4], %[temp5] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -index 56db07c..44f6fd2 100644 ---- a/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -@@ -27,25 +27,25 @@ - // I - input (macro doesn't change it) - #define ADD_SUB_HALVES_X4(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ -- "addq.ph %["#O0"], %["#I0"], %["#I1"] \n\t" \ -- "subq.ph %["#O1"], %["#I0"], %["#I1"] \n\t" \ -- "addq.ph %["#O2"], %["#I2"], %["#I3"] \n\t" \ -- "subq.ph %["#O3"], %["#I2"], %["#I3"] \n\t" \ -- "addq.ph %["#O4"], %["#I4"], %["#I5"] \n\t" \ -- "subq.ph %["#O5"], %["#I4"], %["#I5"] \n\t" \ -- "addq.ph %["#O6"], %["#I6"], %["#I7"] \n\t" \ -- "subq.ph %["#O7"], %["#I6"], %["#I7"] \n\t" -+ "addq.ph %[" #O0 "], %[" #I0 "], %[" #I1 "] \n\t" \ -+ "subq.ph %[" #O1 "], %[" #I0 "], %[" #I1 "] \n\t" \ -+ "addq.ph %[" #O2 "], %[" #I2 "], %[" #I3 "] \n\t" \ -+ "subq.ph %[" #O3 "], %[" #I2 "], %[" #I3 "] \n\t" \ -+ "addq.ph %[" #O4 "], %[" #I4 "], %[" #I5 "] \n\t" \ -+ "subq.ph %[" #O5 "], %[" #I4 "], %[" #I5 "] \n\t" \ -+ "addq.ph %[" #O6 "], %[" #I6 "], %[" #I7 "] \n\t" \ -+ "subq.ph %[" #O7 "], %[" #I6 "], %[" #I7 "] \n\t" - - // IO - input/output - #define ABS_X8(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7) \ -- "absq_s.ph %["#IO0"], %["#IO0"] \n\t" \ -- "absq_s.ph %["#IO1"], %["#IO1"] \n\t" \ -- "absq_s.ph %["#IO2"], %["#IO2"] \n\t" \ -- "absq_s.ph %["#IO3"], %["#IO3"] \n\t" \ -- "absq_s.ph %["#IO4"], %["#IO4"] \n\t" \ -- "absq_s.ph %["#IO5"], %["#IO5"] \n\t" \ -- "absq_s.ph %["#IO6"], %["#IO6"] \n\t" \ -- "absq_s.ph %["#IO7"], %["#IO7"] \n\t" -+ "absq_s.ph %[" #IO0 "], %[" #IO0 "] \n\t" \ -+ "absq_s.ph %[" #IO1 "], %[" #IO1 "] \n\t" \ -+ "absq_s.ph %[" #IO2 "], %[" #IO2 "] \n\t" \ -+ "absq_s.ph %[" #IO3 "], %[" #IO3 "] \n\t" \ -+ "absq_s.ph %[" #IO4 "], %[" #IO4 "] \n\t" \ -+ "absq_s.ph %[" #IO5 "], %[" #IO5 "] \n\t" \ -+ "absq_s.ph %[" #IO6 "], %[" #IO6 "] \n\t" \ -+ "absq_s.ph %[" #IO7 "], %[" #IO7 "] \n\t" - - // dpa.w.ph $ac0 temp0 ,temp1 - // $ac += temp0[31..16] * temp1[31..16] + temp0[15..0] * temp1[15..0] -@@ -56,15 +56,15 @@ - #define MUL_HALF(O0, I0, I1, I2, I3, I4, I5, I6, I7, \ - I8, I9, I10, I11, I12, I13, I14, I15) \ - "mult $ac0, $zero, $zero \n\t" \ -- "dpa.w.ph $ac0, %["#I2"], %["#I0"] \n\t" \ -- "dpax.w.ph $ac0, %["#I5"], %["#I6"] \n\t" \ -- "dpa.w.ph $ac0, %["#I8"], %["#I9"] \n\t" \ -- "dpax.w.ph $ac0, %["#I11"], %["#I4"] \n\t" \ -- "dpa.w.ph $ac0, %["#I12"], %["#I7"] \n\t" \ -- "dpax.w.ph $ac0, %["#I13"], %["#I1"] \n\t" \ -- "dpa.w.ph $ac0, %["#I14"], %["#I3"] \n\t" \ -- "dpax.w.ph $ac0, %["#I15"], %["#I10"] \n\t" \ -- "mflo %["#O0"], $ac0 \n\t" -+ "dpa.w.ph $ac0, %[" #I2 "], %[" #I0 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I5 "], %[" #I6 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I8 "], %[" #I9 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I11 "], %[" #I4 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I12 "], %[" #I7 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I13 "], %[" #I1 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I14 "], %[" #I3 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I15 "], %[" #I10 "] \n\t" \ -+ "mflo %[" #O0 "], $ac0 \n\t" - - #define OUTPUT_EARLY_CLOBBER_REGS_17() \ - OUTPUT_EARLY_CLOBBER_REGS_10(), \ -@@ -77,69 +77,69 @@ - // A - offset in bytes to load from src and ref buffers - // TEMP0..TEMP3 - registers for corresponding tmp elements - #define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lw %["#TEMP0"], 0(%[args]) \n\t" \ -- "lw %["#TEMP1"], 4(%[args]) \n\t" \ -- "lw %["#TEMP2"], "XSTR(BPS)"*"#A"(%["#TEMP0"]) \n\t" \ -- "lw %["#TEMP3"], "XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "preceu.ph.qbl %["#TEMP0"], %["#TEMP2"] \n\t" \ -- "preceu.ph.qbl %["#TEMP1"], %["#TEMP3"] \n\t" \ -- "preceu.ph.qbr %["#TEMP2"], %["#TEMP2"] \n\t" \ -- "preceu.ph.qbr %["#TEMP3"], %["#TEMP3"] \n\t" \ -- "subq.ph %["#TEMP0"], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "subq.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP3"] \n\t" \ -- "rotr %["#TEMP0"], %["#TEMP0"], 16 \n\t" \ -- "addq.ph %["#TEMP1"], %["#TEMP2"], %["#TEMP0"] \n\t" \ -- "subq.ph %["#TEMP3"], %["#TEMP2"], %["#TEMP0"] \n\t" \ -- "seh %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "sra %[temp16], %["#TEMP1"], 16 \n\t" \ -- "seh %[temp19], %["#TEMP3"] \n\t" \ -- "sra %["#TEMP3"], %["#TEMP3"], 16 \n\t" \ -- "subu %["#TEMP2"], %["#TEMP0"], %[temp16] \n\t" \ -- "addu %["#TEMP0"], %["#TEMP0"], %[temp16] \n\t" \ -- "mul %[temp17], %[temp19], %[c2217] \n\t" \ -- "mul %[temp18], %["#TEMP3"], %[c5352] \n\t" \ -- "mul %["#TEMP1"], %[temp19], %[c5352] \n\t" \ -- "mul %[temp16], %["#TEMP3"], %[c2217] \n\t" \ -- "sll %["#TEMP2"], %["#TEMP2"], 3 \n\t" \ -- "sll %["#TEMP0"], %["#TEMP0"], 3 \n\t" \ -- "subu %["#TEMP3"], %[temp17], %[temp18] \n\t" \ -- "addu %["#TEMP1"], %[temp16], %["#TEMP1"] \n\t" \ -- "addiu %["#TEMP3"], %["#TEMP3"], 937 \n\t" \ -- "addiu %["#TEMP1"], %["#TEMP1"], 1812 \n\t" \ -- "sra %["#TEMP3"], %["#TEMP3"], 9 \n\t" \ -- "sra %["#TEMP1"], %["#TEMP1"], 9 \n\t" -+ "lw %[" #TEMP0 "], 0(%[args]) \n\t" \ -+ "lw %[" #TEMP1 "], 4(%[args]) \n\t" \ -+ "lw %[" #TEMP2 "], "XSTR(BPS)"*" #A "(%[" #TEMP0 "]) \n\t" \ -+ "lw %[" #TEMP3 "], "XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "preceu.ph.qbl %[" #TEMP0 "], %[" #TEMP2 "] \n\t" \ -+ "preceu.ph.qbl %[" #TEMP1 "], %[" #TEMP3 "] \n\t" \ -+ "preceu.ph.qbr %[" #TEMP2 "], %[" #TEMP2 "] \n\t" \ -+ "preceu.ph.qbr %[" #TEMP3 "], %[" #TEMP3 "] \n\t" \ -+ "subq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP3 "] \n\t" \ -+ "rotr %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ -+ "addq.ph %[" #TEMP1 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ -+ "subq.ph %[" #TEMP3 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ -+ "seh %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "sra %[temp16], %[" #TEMP1 "], 16 \n\t" \ -+ "seh %[temp19], %[" #TEMP3 "] \n\t" \ -+ "sra %[" #TEMP3 "], %[" #TEMP3 "], 16 \n\t" \ -+ "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp16] \n\t" \ -+ "addu %[" #TEMP0 "], %[" #TEMP0 "], %[temp16] \n\t" \ -+ "mul %[temp17], %[temp19], %[c2217] \n\t" \ -+ "mul %[temp18], %[" #TEMP3 "], %[c5352] \n\t" \ -+ "mul %[" #TEMP1 "], %[temp19], %[c5352] \n\t" \ -+ "mul %[temp16], %[" #TEMP3 "], %[c2217] \n\t" \ -+ "sll %[" #TEMP2 "], %[" #TEMP2 "], 3 \n\t" \ -+ "sll %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ -+ "subu %[" #TEMP3 "], %[temp17], %[temp18] \n\t" \ -+ "addu %[" #TEMP1 "], %[temp16], %[" #TEMP1 "] \n\t" \ -+ "addiu %[" #TEMP3 "], %[" #TEMP3 "], 937 \n\t" \ -+ "addiu %[" #TEMP1 "], %[" #TEMP1 "], 1812 \n\t" \ -+ "sra %[" #TEMP3 "], %[" #TEMP3 "], 9 \n\t" \ -+ "sra %[" #TEMP1 "], %[" #TEMP1 "], 9 \n\t" - - // macro for one vertical pass in FTransform - // temp0..temp15 holds tmp[0]..tmp[15] - // A..D - offsets in bytes to store to out buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements - #define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "subu %[temp19], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "addu %[temp17], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "subu %[temp18], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP8"], %[temp19], %[c2217] \n\t" \ -- "mul %["#TEMP12"], %[temp18], %[c2217] \n\t" \ -- "mul %["#TEMP4"], %[temp19], %[c5352] \n\t" \ -- "mul %[temp18], %[temp18], %[c5352] \n\t" \ -- "addiu %[temp16], %[temp16], 7 \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %["#TEMP12"], %["#TEMP12"], %["#TEMP4"] \n\t" \ -- "subu %["#TEMP4"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 4 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 30000 \n\t" \ -- "addiu %["#TEMP12"], %["#TEMP12"], 12000 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 21000 \n\t" \ -- "subu %["#TEMP8"], %["#TEMP8"], %[temp18] \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "addiu %[temp16], %["#TEMP12"], 1 \n\t" \ -- "movn %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -- "sh %["#TEMP0"], "#A"(%[temp20]) \n\t" \ -- "sh %["#TEMP4"], "#C"(%[temp20]) \n\t" \ -- "sh %["#TEMP8"], "#D"(%[temp20]) \n\t" \ -- "sh %["#TEMP12"], "#B"(%[temp20]) \n\t" -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ -+ "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ -+ "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ -+ "mul %[temp18], %[temp18], %[c5352] \n\t" \ -+ "addiu %[temp16], %[temp16], 7 \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ -+ "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ -+ "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ -+ "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ -+ "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ -+ "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - - static void FTransform(const uint8_t* src, const uint8_t* ref, int16_t* out) { - const int c2217 = 2217; -@@ -329,11 +329,11 @@ - // Intra predictions - - #define FILL_PART(J, SIZE) \ -- "usw %[value], 0+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- "usw %[value], 4+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -- "usw %[value], 8+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- "usw %[value], 12+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 0+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 4+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ -+ "usw %[value], 8+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 12+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ - ".endif \n\t" - - #define FILL_8_OR_16(DST, VALUE, SIZE) do { \ -@@ -348,7 +348,7 @@ - FILL_PART( 5, SIZE) \ - FILL_PART( 6, SIZE) \ - FILL_PART( 7, SIZE) \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - FILL_PART( 8, 16) \ - FILL_PART( 9, 16) \ - FILL_PART(10, 16) \ -@@ -425,7 +425,7 @@ - CLIPPING() \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING() \ -@@ -1060,8 +1060,8 @@ - #if !defined(WORK_AROUND_GCC) - - #define GET_SSE_INNER(A) \ -- "lw %[temp0], "#A"(%[a]) \n\t" \ -- "lw %[temp1], "#A"(%[b]) \n\t" \ -+ "lw %[temp0], " #A "(%[a]) \n\t" \ -+ "lw %[temp1], " #A "(%[b]) \n\t" \ - "preceu.ph.qbr %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbl %[temp0], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp3], %[temp1] \n\t" \ -@@ -1185,28 +1185,28 @@ - // N - offset in bytes (n * 2) - // N1 - offset in bytes ((n + 1) * 2) - #define QUANTIZE_ONE(J, K, N, N1) \ -- "ulw %[temp1], "#J"(%[ppin]) \n\t" \ -- "ulw %[temp2], "#J"(%[ppsharpen]) \n\t" \ -- "lhu %[temp3], "#K"(%[ppzthresh]) \n\t" \ -- "lhu %[temp6], "#K"+4(%[ppzthresh]) \n\t" \ -+ "ulw %[temp1], " #J "(%[ppin]) \n\t" \ -+ "ulw %[temp2], " #J "(%[ppsharpen]) \n\t" \ -+ "lhu %[temp3], " #K "(%[ppzthresh]) \n\t" \ -+ "lhu %[temp6], " #K "+4(%[ppzthresh]) \n\t" \ - "absq_s.ph %[temp4], %[temp1] \n\t" \ - "ins %[temp3], %[temp6], 16, 16 \n\t" \ - "addu.ph %[coeff], %[temp4], %[temp2] \n\t" \ - "shra.ph %[sign], %[temp1], 15 \n\t" \ - "li %[level], 0x10001 \n\t" \ - "cmp.lt.ph %[temp3], %[coeff] \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ - "pick.ph %[temp5], %[level], $0 \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ - "beqz %[temp5], 0f \n\t" \ -- "lhu %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "beq %[temp5], %[level], 1f \n\t" \ - "andi %[temp5], %[temp5], 0x1 \n\t" \ - "andi %[temp4], %[coeff], 0xffff \n\t" \ - "beqz %[temp5], 2f \n\t" \ - "mul %[level], %[temp4], %[temp1] \n\t" \ -- "sh $0, "#J"+2(%[ppin]) \n\t" \ -- "sh $0, "#N1"(%[pout]) \n\t" \ -+ "sh $0, " #J "+2(%[ppin]) \n\t" \ -+ "sh $0, " #N1 "(%[pout]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "slt %[temp4], %[max_level], %[level] \n\t" \ -@@ -1216,15 +1216,15 @@ - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" \ -- "sh %[temp5], "#J"(%[ppin]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" \ -+ "sh %[temp5], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ - "2: \n\t" \ -- "lhu %[temp1], "#J"+2(%[ppiq]) \n\t" \ -+ "lhu %[temp1], " #J "+2(%[ppiq]) \n\t" \ - "srl %[temp5], %[coeff], 16 \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ -- "lw %[temp2], "#K"+4(%[ppbias]) \n\t" \ -- "lhu %[temp3], "#J"+2(%[ppq]) \n\t" \ -+ "lw %[temp2], " #K "+4(%[ppbias]) \n\t" \ -+ "lhu %[temp3], " #J "+2(%[ppq]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "srl %[temp6], %[sign], 16 \n\t" \ -@@ -1233,20 +1233,20 @@ - "xor %[level], %[level], %[temp6] \n\t" \ - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ -- "sh $0, "#J"(%[ppin]) \n\t" \ -- "sh $0, "#N"(%[pout]) \n\t" \ -+ "sh $0, " #J "(%[ppin]) \n\t" \ -+ "sh $0, " #N "(%[pout]) \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[temp5], "#J"+2(%[ppin]) \n\t" \ -- "sh %[level], "#N1"(%[pout]) \n\t" \ -+ "sh %[temp5], " #J "+2(%[ppin]) \n\t" \ -+ "sh %[level], " #N1 "(%[pout]) \n\t" \ - "j 3f \n\t" \ - "1: \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -- "ulw %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ -+ "ulw %[temp3], " #J "(%[ppq]) \n\t" \ - "andi %[temp5], %[coeff], 0xffff \n\t" \ - "srl %[temp0], %[coeff], 16 \n\t" \ -- "lhu %[temp6], "#J"+2(%[ppiq]) \n\t" \ -- "lw %[coeff], "#K"+4(%[ppbias]) \n\t" \ -+ "lhu %[temp6], " #J "+2(%[ppiq]) \n\t" \ -+ "lw %[coeff], " #K "+4(%[ppbias]) \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ - "mul %[temp4], %[temp0], %[temp6] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ -@@ -1259,15 +1259,15 @@ - "subu.ph %[level], %[level], %[sign] \n\t" \ - "mul.ph %[temp3], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" \ - "srl %[level], %[level], 16 \n\t" \ -- "sh %[level], "#N1"(%[pout]) \n\t" \ -- "usw %[temp3], "#J"(%[ppin]) \n\t" \ -+ "sh %[level], " #N1 "(%[pout]) \n\t" \ -+ "usw %[temp3], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ - "0: \n\t" \ -- "sh $0, "#N"(%[pout]) \n\t" \ -- "sh $0, "#N1"(%[pout]) \n\t" \ -- "usw $0, "#J"(%[ppin]) \n\t" \ -+ "sh $0, " #N "(%[pout]) \n\t" \ -+ "sh $0, " #N1 "(%[pout]) \n\t" \ -+ "usw $0, " #J "(%[ppin]) \n\t" \ - "3: \n\t" - - static int QuantizeBlock(int16_t in[16], int16_t out[16], -@@ -1326,37 +1326,37 @@ - // A, B, C, D - offset in bytes to load from in buffer - // TEMP0, TEMP1 - registers for corresponding tmp elements - #define HORIZONTAL_PASS_WHT(A, B, C, D, TEMP0, TEMP1) \ -- "lh %["#TEMP0"], "#A"(%[in]) \n\t" \ -- "lh %["#TEMP1"], "#B"(%[in]) \n\t" \ -- "lh %[temp8], "#C"(%[in]) \n\t" \ -- "lh %[temp9], "#D"(%[in]) \n\t" \ -- "ins %["#TEMP1"], %["#TEMP0"], 16, 16 \n\t" \ -+ "lh %[" #TEMP0 "], " #A "(%[in]) \n\t" \ -+ "lh %[" #TEMP1 "], " #B "(%[in]) \n\t" \ -+ "lh %[temp8], " #C "(%[in]) \n\t" \ -+ "lh %[temp9], " #D "(%[in]) \n\t" \ -+ "ins %[" #TEMP1 "], %[" #TEMP0 "], 16, 16 \n\t" \ - "ins %[temp9], %[temp8], 16, 16 \n\t" \ -- "subq.ph %[temp8], %["#TEMP1"], %[temp9] \n\t" \ -- "addq.ph %[temp9], %["#TEMP1"], %[temp9] \n\t" \ -- "precrq.ph.w %["#TEMP0"], %[temp8], %[temp9] \n\t" \ -+ "subq.ph %[temp8], %[" #TEMP1 "], %[temp9] \n\t" \ -+ "addq.ph %[temp9], %[" #TEMP1 "], %[temp9] \n\t" \ -+ "precrq.ph.w %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ - "append %[temp8], %[temp9], 16 \n\t" \ -- "subq.ph %["#TEMP1"], %["#TEMP0"], %[temp8] \n\t" \ -- "addq.ph %["#TEMP0"], %["#TEMP0"], %[temp8] \n\t" \ -- "rotr %["#TEMP1"], %["#TEMP1"], 16 \n\t" -+ "subq.ph %[" #TEMP1 "], %[" #TEMP0 "], %[temp8] \n\t" \ -+ "addq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[temp8] \n\t" \ -+ "rotr %[" #TEMP1 "], %[" #TEMP1 "], 16 \n\t" - - // macro for one vertical pass in FTransformWHT - // temp0..temp7 holds tmp[0]..tmp[15] - // A, B, C, D - offsets in bytes to store to out buffer - // TEMP0, TEMP2, TEMP4 and TEMP6 - registers for corresponding tmp elements - #define VERTICAL_PASS_WHT(A, B, C, D, TEMP0, TEMP2, TEMP4, TEMP6) \ -- "addq.ph %[temp8], %["#TEMP0"], %["#TEMP4"] \n\t" \ -- "addq.ph %[temp9], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subq.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subq.ph %["#TEMP6"], %["#TEMP0"], %["#TEMP4"] \n\t" \ -- "addqh.ph %["#TEMP0"], %[temp8], %[temp9] \n\t" \ -- "subqh.ph %["#TEMP4"], %["#TEMP6"], %["#TEMP2"] \n\t" \ -- "addqh.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subqh.ph %["#TEMP6"], %[temp8], %[temp9] \n\t" \ -- "usw %["#TEMP0"], "#A"(%[out]) \n\t" \ -- "usw %["#TEMP2"], "#B"(%[out]) \n\t" \ -- "usw %["#TEMP4"], "#C"(%[out]) \n\t" \ -- "usw %["#TEMP6"], "#D"(%[out]) \n\t" -+ "addq.ph %[temp8], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ -+ "addq.ph %[temp9], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subq.ph %[" #TEMP6 "], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ -+ "addqh.ph %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ -+ "subqh.ph %[" #TEMP4 "], %[" #TEMP6 "], %[" #TEMP2 "] \n\t" \ -+ "addqh.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subqh.ph %[" #TEMP6 "], %[temp8], %[temp9] \n\t" \ -+ "usw %[" #TEMP0 "], " #A "(%[out]) \n\t" \ -+ "usw %[" #TEMP2 "], " #B "(%[out]) \n\t" \ -+ "usw %[" #TEMP4 "], " #C "(%[out]) \n\t" \ -+ "usw %[" #TEMP6 "], " #D "(%[out]) \n\t" - - static void FTransformWHT(const int16_t* in, int16_t* out) { - int temp0, temp1, temp2, temp3, temp4; -@@ -1385,10 +1385,10 @@ - // convert 8 coeffs at time - // A, B, C, D - offsets in bytes to load from out buffer - #define CONVERT_COEFFS_TO_BIN(A, B, C, D) \ -- "ulw %[temp0], "#A"(%[out]) \n\t" \ -- "ulw %[temp1], "#B"(%[out]) \n\t" \ -- "ulw %[temp2], "#C"(%[out]) \n\t" \ -- "ulw %[temp3], "#D"(%[out]) \n\t" \ -+ "ulw %[temp0], " #A "(%[out]) \n\t" \ -+ "ulw %[temp1], " #B "(%[out]) \n\t" \ -+ "ulw %[temp2], " #C "(%[out]) \n\t" \ -+ "ulw %[temp3], " #D "(%[out]) \n\t" \ - "absq_s.ph %[temp0], %[temp0] \n\t" \ - "absq_s.ph %[temp1], %[temp1] \n\t" \ - "absq_s.ph %[temp2], %[temp2] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -index 66f807d..8134af5 100644 ---- a/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -@@ -48,7 +48,7 @@ - "srl %[temp0], %[length], 0x2 \n\t" \ - "beqz %[temp0], 4f \n\t" \ - " andi %[temp6], %[length], 0x3 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "lbu %[temp1], -1(%[src]) \n\t" \ - "1: \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ -@@ -84,7 +84,7 @@ - "lbu %[temp1], -1(%[src]) \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - "sb %[temp3], -1(%[src]) \n\t" \ - ".else \n\t" \ -@@ -131,7 +131,7 @@ - "ulw %[temp3], 4(%[src]) \n\t" \ - "ulw %[temp4], 4(%[pred]) \n\t" \ - "addiu %[src], %[src], 8 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu.qb %[temp5], %[temp1], %[temp2] \n\t" \ - "addu.qb %[temp6], %[temp3], %[temp4] \n\t" \ - ".else \n\t" \ -@@ -152,7 +152,7 @@ - "lbu %[temp2], 0(%[pred]) \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ - "addiu %[pred], %[pred], 1 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ -@@ -177,7 +177,7 @@ - __asm__ volatile ( \ - "lbu %[temp1], 0(%[src]) \n\t" \ - "lbu %[temp2], 0(%[pred]) \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.lossless_mips32.c b/Source/LibWebP/src/dsp/dsp.lossless_mips32.c -index 8ae5958..cdf0e26 100644 ---- a/Source/LibWebP/src/dsp/dsp.lossless_mips32.c -+++ b/Source/LibWebP/src/dsp/dsp.lossless_mips32.c - -@@ -278,28 +278,28 @@ - // literal_ and successive histograms could be unaligned - // so we must use ulw and usw - #define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2) \ -- "ulw %[temp0], "#A"(%["#P0"]) \n\t" \ -- "ulw %[temp1], "#B"(%["#P0"]) \n\t" \ -- "ulw %[temp2], "#C"(%["#P0"]) \n\t" \ -- "ulw %[temp3], "#D"(%["#P0"]) \n\t" \ -- "ulw %[temp4], "#A"(%["#P1"]) \n\t" \ -- "ulw %[temp5], "#B"(%["#P1"]) \n\t" \ -- "ulw %[temp6], "#C"(%["#P1"]) \n\t" \ -- "ulw %[temp7], "#D"(%["#P1"]) \n\t" \ -+ "ulw %[temp0], " #A "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp1], " #B "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp2], " #C "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp3], " #D "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp4], " #A "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp5], " #B "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp6], " #C "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp7], " #D "(%[" #P1 "]) \n\t" \ - "addu %[temp4], %[temp4], %[temp0] \n\t" \ - "addu %[temp5], %[temp5], %[temp1] \n\t" \ - "addu %[temp6], %[temp6], %[temp2] \n\t" \ - "addu %[temp7], %[temp7], %[temp3] \n\t" \ -- "addiu %["#P0"], %["#P0"], 16 \n\t" \ -- ".if "#E" == 1 \n\t" \ -- "addiu %["#P1"], %["#P1"], 16 \n\t" \ -+ "addiu %[" #P0 "], %[" #P0 "], 16 \n\t" \ -+ ".if " #E " == 1 \n\t" \ -+ "addiu %[" #P1 "], %[" #P1 "], 16 \n\t" \ - ".endif \n\t" \ -- "usw %[temp4], "#A"(%["#P2"]) \n\t" \ -- "usw %[temp5], "#B"(%["#P2"]) \n\t" \ -- "usw %[temp6], "#C"(%["#P2"]) \n\t" \ -- "usw %[temp7], "#D"(%["#P2"]) \n\t" \ -- "addiu %["#P2"], %["#P2"], 16 \n\t" \ -- "bne %["#P0"], %[LoopEnd], 1b \n\t" \ -+ "usw %[temp4], " #A "(%[" #P2 "]) \n\t" \ -+ "usw %[temp5], " #B "(%[" #P2 "]) \n\t" \ -+ "usw %[temp6], " #C "(%[" #P2 "]) \n\t" \ -+ "usw %[temp7], " #D "(%[" #P2 "]) \n\t" \ -+ "addiu %[" #P2 "], %[" #P2 "], 16 \n\t" \ -+ "bne %[" #P0 "], %[LoopEnd], 1b \n\t" \ - ".set pop \n\t" \ - - #define ASM_END_COMMON_0 \ -diff --git a/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -index ad55f2c..90aed7f 100644 ---- a/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -@@ -29,14 +29,14 @@ - for (x = 0; x < (width >> 2); ++x) { \ - int tmp1, tmp2, tmp3, tmp4; \ - __asm__ volatile ( \ -- ".ifc "#TYPE", uint8_t \n\t" \ -+ ".ifc " #TYPE ", uint8_t \n\t" \ - "lbu %[tmp1], 0(%[src]) \n\t" \ - "lbu %[tmp2], 1(%[src]) \n\t" \ - "lbu %[tmp3], 2(%[src]) \n\t" \ - "lbu %[tmp4], 3(%[src]) \n\t" \ - "addiu %[src], %[src], 4 \n\t" \ - ".endif \n\t" \ -- ".ifc "#TYPE", uint32_t \n\t" \ -+ ".ifc " #TYPE ", uint32_t \n\t" \ - "lw %[tmp1], 0(%[src]) \n\t" \ - "lw %[tmp2], 4(%[src]) \n\t" \ - "lw %[tmp3], 8(%[src]) \n\t" \ -@@ -55,7 +55,7 @@ - "lwx %[tmp2], %[tmp2](%[color_map]) \n\t" \ - "lwx %[tmp3], %[tmp3](%[color_map]) \n\t" \ - "lwx %[tmp4], %[tmp4](%[color_map]) \n\t" \ -- ".ifc "#TYPE", uint8_t \n\t" \ -+ ".ifc " #TYPE ", uint8_t \n\t" \ - "ext %[tmp1], %[tmp1], 8, 8 \n\t" \ - "ext %[tmp2], %[tmp2], 8, 8 \n\t" \ - "ext %[tmp3], %[tmp3], 8, 8 \n\t" \ -@@ -66,7 +66,7 @@ - "sb %[tmp4], 3(%[dst]) \n\t" \ - "addiu %[dst], %[dst], 4 \n\t" \ - ".endif \n\t" \ -- ".ifc "#TYPE", uint32_t \n\t" \ -+ ".ifc " #TYPE ", uint32_t \n\t" \ - "sw %[tmp1], 0(%[dst]) \n\t" \ - "sw %[tmp2], 4(%[dst]) \n\t" \ - "sw %[tmp3], 8(%[dst]) \n\t" \ -diff --git a/Source/LibWebP/src/dsp/mips_macro.h b/Source/LibWebP/src/dsp/mips_macro.h -index 4cfb23c..e09d2c4 100644 ---- a/Source/LibWebP/src/dsp/mips_macro.h -+++ b/Source/LibWebP/src/dsp/mips_macro.h -@@ -25,25 +25,25 @@ - // I - input (macro doesn't change it) - #define ADD_SUB_HALVES(O0, O1, \ - I0, I1) \ -- "addq.ph %["#O0"], %["#I0"], %["#I1"] \n\t" \ -- "subq.ph %["#O1"], %["#I0"], %["#I1"] \n\t" -+ "addq.ph %[" #O0 "], %[" #I0 "], %[" #I1 "] \n\t" \ -+ "subq.ph %[" #O1 "], %[" #I0 "], %[" #I1 "] \n\t" - - // O - output - // I - input (macro doesn't change it) - // I[0/1] - offset in bytes - #define LOAD_IN_X2(O0, O1, \ - I0, I1) \ -- "lh %["#O0"], "#I0"(%[in]) \n\t" \ -- "lh %["#O1"], "#I1"(%[in]) \n\t" -+ "lh %[" #O0 "], " #I0 "(%[in]) \n\t" \ -+ "lh %[" #O1 "], " #I1 "(%[in]) \n\t" - - // I0 - location - // I1..I9 - offsets in bytes - #define LOAD_WITH_OFFSET_X4(O0, O1, O2, O3, \ - I0, I1, I2, I3, I4, I5, I6, I7, I8, I9) \ -- "ulw %["#O0"], "#I1"+"XSTR(I9)"*"#I5"(%["#I0"]) \n\t" \ -- "ulw %["#O1"], "#I2"+"XSTR(I9)"*"#I6"(%["#I0"]) \n\t" \ -- "ulw %["#O2"], "#I3"+"XSTR(I9)"*"#I7"(%["#I0"]) \n\t" \ -- "ulw %["#O3"], "#I4"+"XSTR(I9)"*"#I8"(%["#I0"]) \n\t" -+ "ulw %[" #O0 "], " #I1 "+"XSTR(I9)"*" #I5 "(%[" #I0 "]) \n\t" \ -+ "ulw %[" #O1 "], " #I2 "+"XSTR(I9)"*" #I6 "(%[" #I0 "]) \n\t" \ -+ "ulw %[" #O2 "], " #I3 "+"XSTR(I9)"*" #I7 "(%[" #I0 "]) \n\t" \ -+ "ulw %[" #O3 "], " #I4 "+"XSTR(I9)"*" #I8 "(%[" #I0 "]) \n\t" - - // O - output - // IO - input/output -@@ -51,42 +51,42 @@ - #define MUL_SHIFT_SUM(O0, O1, O2, O3, O4, O5, O6, O7, \ - IO0, IO1, IO2, IO3, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ -- "mul %["#O0"], %["#I0"], %[kC2] \n\t" \ -- "mul %["#O1"], %["#I0"], %[kC1] \n\t" \ -- "mul %["#O2"], %["#I1"], %[kC2] \n\t" \ -- "mul %["#O3"], %["#I1"], %[kC1] \n\t" \ -- "mul %["#O4"], %["#I2"], %[kC2] \n\t" \ -- "mul %["#O5"], %["#I2"], %[kC1] \n\t" \ -- "mul %["#O6"], %["#I3"], %[kC2] \n\t" \ -- "mul %["#O7"], %["#I3"], %[kC1] \n\t" \ -- "sra %["#O0"], %["#O0"], 16 \n\t" \ -- "sra %["#O1"], %["#O1"], 16 \n\t" \ -- "sra %["#O2"], %["#O2"], 16 \n\t" \ -- "sra %["#O3"], %["#O3"], 16 \n\t" \ -- "sra %["#O4"], %["#O4"], 16 \n\t" \ -- "sra %["#O5"], %["#O5"], 16 \n\t" \ -- "sra %["#O6"], %["#O6"], 16 \n\t" \ -- "sra %["#O7"], %["#O7"], 16 \n\t" \ -- "addu %["#IO0"], %["#IO0"], %["#I4"] \n\t" \ -- "addu %["#IO1"], %["#IO1"], %["#I5"] \n\t" \ -- "subu %["#IO2"], %["#IO2"], %["#I6"] \n\t" \ -- "subu %["#IO3"], %["#IO3"], %["#I7"] \n\t" -+ "mul %[" #O0 "], %[" #I0 "], %[kC2] \n\t" \ -+ "mul %[" #O1 "], %[" #I0 "], %[kC1] \n\t" \ -+ "mul %[" #O2 "], %[" #I1 "], %[kC2] \n\t" \ -+ "mul %[" #O3 "], %[" #I1 "], %[kC1] \n\t" \ -+ "mul %[" #O4 "], %[" #I2 "], %[kC2] \n\t" \ -+ "mul %[" #O5 "], %[" #I2 "], %[kC1] \n\t" \ -+ "mul %[" #O6 "], %[" #I3 "], %[kC2] \n\t" \ -+ "mul %[" #O7 "], %[" #I3 "], %[kC1] \n\t" \ -+ "sra %[" #O0 "], %[" #O0 "], 16 \n\t" \ -+ "sra %[" #O1 "], %[" #O1 "], 16 \n\t" \ -+ "sra %[" #O2 "], %[" #O2 "], 16 \n\t" \ -+ "sra %[" #O3 "], %[" #O3 "], 16 \n\t" \ -+ "sra %[" #O4 "], %[" #O4 "], 16 \n\t" \ -+ "sra %[" #O5 "], %[" #O5 "], 16 \n\t" \ -+ "sra %[" #O6 "], %[" #O6 "], 16 \n\t" \ -+ "sra %[" #O7 "], %[" #O7 "], 16 \n\t" \ -+ "addu %[" #IO0 "], %[" #IO0 "], %[" #I4 "] \n\t" \ -+ "addu %[" #IO1 "], %[" #IO1 "], %[" #I5 "] \n\t" \ -+ "subu %[" #IO2 "], %[" #IO2 "], %[" #I6 "] \n\t" \ -+ "subu %[" #IO3 "], %[" #IO3 "], %[" #I7 "] \n\t" - - // O - output - // I - input (macro doesn't change it) - #define INSERT_HALF_X2(O0, O1, \ - I0, I1) \ -- "ins %["#O0"], %["#I0"], 16, 16 \n\t" \ -- "ins %["#O1"], %["#I1"], 16, 16 \n\t" -+ "ins %[" #O0 "], %[" #I0 "], 16, 16 \n\t" \ -+ "ins %[" #O1 "], %[" #I1 "], 16, 16 \n\t" - - // O - output - // I - input (macro doesn't change it) - #define SRA_16(O0, O1, O2, O3, \ - I0, I1, I2, I3) \ -- "sra %["#O0"], %["#I0"], 16 \n\t" \ -- "sra %["#O1"], %["#I1"], 16 \n\t" \ -- "sra %["#O2"], %["#I2"], 16 \n\t" \ -- "sra %["#O3"], %["#I3"], 16 \n\t" -+ "sra %[" #O0 "], %[" #I0 "], 16 \n\t" \ -+ "sra %[" #O1 "], %[" #I1 "], 16 \n\t" \ -+ "sra %[" #O2 "], %[" #I2 "], 16 \n\t" \ -+ "sra %[" #O3 "], %[" #I3 "], 16 \n\t" - - // temp0[31..16 | 15..0] = temp8[31..16 | 15..0] + temp12[31..16 | 15..0] - // temp1[31..16 | 15..0] = temp8[31..16 | 15..0] - temp12[31..16 | 15..0] -@@ -96,22 +96,22 @@ - // I - input (macro doesn't change it) - #define SHIFT_R_SUM_X2(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ -- "addq.ph %["#O0"], %["#I0"], %["#I4"] \n\t" \ -- "subq.ph %["#O1"], %["#I0"], %["#I4"] \n\t" \ -- "addq.ph %["#O2"], %["#I1"], %["#I5"] \n\t" \ -- "subq.ph %["#O3"], %["#I1"], %["#I5"] \n\t" \ -- "addq.ph %["#O4"], %["#I2"], %["#I6"] \n\t" \ -- "subq.ph %["#O5"], %["#I2"], %["#I6"] \n\t" \ -- "addq.ph %["#O6"], %["#I3"], %["#I7"] \n\t" \ -- "subq.ph %["#O7"], %["#I3"], %["#I7"] \n\t" \ -- "shra.ph %["#O0"], %["#O0"], 3 \n\t" \ -- "shra.ph %["#O1"], %["#O1"], 3 \n\t" \ -- "shra.ph %["#O2"], %["#O2"], 3 \n\t" \ -- "shra.ph %["#O3"], %["#O3"], 3 \n\t" \ -- "shra.ph %["#O4"], %["#O4"], 3 \n\t" \ -- "shra.ph %["#O5"], %["#O5"], 3 \n\t" \ -- "shra.ph %["#O6"], %["#O6"], 3 \n\t" \ -- "shra.ph %["#O7"], %["#O7"], 3 \n\t" -+ "addq.ph %[" #O0 "], %[" #I0 "], %[" #I4 "] \n\t" \ -+ "subq.ph %[" #O1 "], %[" #I0 "], %[" #I4 "] \n\t" \ -+ "addq.ph %[" #O2 "], %[" #I1 "], %[" #I5 "] \n\t" \ -+ "subq.ph %[" #O3 "], %[" #I1 "], %[" #I5 "] \n\t" \ -+ "addq.ph %[" #O4 "], %[" #I2 "], %[" #I6 "] \n\t" \ -+ "subq.ph %[" #O5 "], %[" #I2 "], %[" #I6 "] \n\t" \ -+ "addq.ph %[" #O6 "], %[" #I3 "], %[" #I7 "] \n\t" \ -+ "subq.ph %[" #O7 "], %[" #I3 "], %[" #I7 "] \n\t" \ -+ "shra.ph %[" #O0 "], %[" #O0 "], 3 \n\t" \ -+ "shra.ph %[" #O1 "], %[" #O1 "], 3 \n\t" \ -+ "shra.ph %[" #O2 "], %[" #O2 "], 3 \n\t" \ -+ "shra.ph %[" #O3 "], %[" #O3 "], 3 \n\t" \ -+ "shra.ph %[" #O4 "], %[" #O4 "], 3 \n\t" \ -+ "shra.ph %[" #O5 "], %[" #O5 "], 3 \n\t" \ -+ "shra.ph %[" #O6 "], %[" #O6 "], 3 \n\t" \ -+ "shra.ph %[" #O7 "], %[" #O7 "], 3 \n\t" - - // precrq.ph.w temp0, temp8, temp2 - // temp0 = temp8[31..16] | temp2[31..16] -@@ -123,14 +123,14 @@ - #define PACK_2_HALVES_TO_WORD(O0, O1, O2, O3, \ - IO0, IO1, IO2, IO3, \ - I0, I1, I2, I3) \ -- "precrq.ph.w %["#O0"], %["#I0"], %["#IO0"] \n\t" \ -- "precrq.ph.w %["#O1"], %["#I1"], %["#IO1"] \n\t" \ -- "ins %["#IO0"], %["#I0"], 16, 16 \n\t" \ -- "ins %["#IO1"], %["#I1"], 16, 16 \n\t" \ -- "precrq.ph.w %["#O2"], %["#I2"], %["#IO2"] \n\t" \ -- "precrq.ph.w %["#O3"], %["#I3"], %["#IO3"] \n\t" \ -- "ins %["#IO2"], %["#I2"], 16, 16 \n\t" \ -- "ins %["#IO3"], %["#I3"], 16, 16 \n\t" -+ "precrq.ph.w %[" #O0 "], %[" #I0 "], %[" #IO0 "] \n\t" \ -+ "precrq.ph.w %[" #O1 "], %[" #I1 "], %[" #IO1 "] \n\t" \ -+ "ins %[" #IO0 "], %[" #I0 "], 16, 16 \n\t" \ -+ "ins %[" #IO1 "], %[" #I1 "], 16, 16 \n\t" \ -+ "precrq.ph.w %[" #O2 "], %[" #I2 "], %[" #IO2 "] \n\t" \ -+ "precrq.ph.w %[" #O3 "], %[" #I3 "], %[" #IO3 "] \n\t" \ -+ "ins %[" #IO2 "], %[" #I2 "], 16, 16 \n\t" \ -+ "ins %[" #IO3 "], %[" #I3 "], 16, 16 \n\t" - - // preceu.ph.qbr temp0, temp8 - // temp0 = 0 | 0 | temp8[23..16] | temp8[7..0] -@@ -140,14 +140,14 @@ - // I - input (macro doesn't change it) - #define CONVERT_2_BYTES_TO_HALF(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3) \ -- "preceu.ph.qbr %["#O0"], %["#I0"] \n\t" \ -- "preceu.ph.qbl %["#O1"], %["#I0"] \n\t" \ -- "preceu.ph.qbr %["#O2"], %["#I1"] \n\t" \ -- "preceu.ph.qbl %["#O3"], %["#I1"] \n\t" \ -- "preceu.ph.qbr %["#O4"], %["#I2"] \n\t" \ -- "preceu.ph.qbl %["#O5"], %["#I2"] \n\t" \ -- "preceu.ph.qbr %["#O6"], %["#I3"] \n\t" \ -- "preceu.ph.qbl %["#O7"], %["#I3"] \n\t" -+ "preceu.ph.qbr %[" #O0 "], %[" #I0 "] \n\t" \ -+ "preceu.ph.qbl %[" #O1 "], %[" #I0 "] \n\t" \ -+ "preceu.ph.qbr %[" #O2 "], %[" #I1 "] \n\t" \ -+ "preceu.ph.qbl %[" #O3 "], %[" #I1 "] \n\t" \ -+ "preceu.ph.qbr %[" #O4 "], %[" #I2 "] \n\t" \ -+ "preceu.ph.qbl %[" #O5 "], %[" #I2 "] \n\t" \ -+ "preceu.ph.qbr %[" #O6 "], %[" #I3 "] \n\t" \ -+ "preceu.ph.qbl %[" #O7 "], %[" #I3 "] \n\t" - - // temp0[31..16 | 15..0] = temp0[31..16 | 15..0] + temp8[31..16 | 15..0] - // temp0[31..16 | 15..0] = temp0[31..16 <<(s) 7 | 15..0 <<(s) 7] -@@ -160,30 +160,30 @@ - #define STORE_SAT_SUM_X2(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7, \ - I0, I1, I2, I3, I4, I5, I6, I7, \ - I8, I9, I10, I11, I12, I13) \ -- "addq.ph %["#IO0"], %["#IO0"], %["#I0"] \n\t" \ -- "addq.ph %["#IO1"], %["#IO1"], %["#I1"] \n\t" \ -- "addq.ph %["#IO2"], %["#IO2"], %["#I2"] \n\t" \ -- "addq.ph %["#IO3"], %["#IO3"], %["#I3"] \n\t" \ -- "addq.ph %["#IO4"], %["#IO4"], %["#I4"] \n\t" \ -- "addq.ph %["#IO5"], %["#IO5"], %["#I5"] \n\t" \ -- "addq.ph %["#IO6"], %["#IO6"], %["#I6"] \n\t" \ -- "addq.ph %["#IO7"], %["#IO7"], %["#I7"] \n\t" \ -- "shll_s.ph %["#IO0"], %["#IO0"], 7 \n\t" \ -- "shll_s.ph %["#IO1"], %["#IO1"], 7 \n\t" \ -- "shll_s.ph %["#IO2"], %["#IO2"], 7 \n\t" \ -- "shll_s.ph %["#IO3"], %["#IO3"], 7 \n\t" \ -- "shll_s.ph %["#IO4"], %["#IO4"], 7 \n\t" \ -- "shll_s.ph %["#IO5"], %["#IO5"], 7 \n\t" \ -- "shll_s.ph %["#IO6"], %["#IO6"], 7 \n\t" \ -- "shll_s.ph %["#IO7"], %["#IO7"], 7 \n\t" \ -- "precrqu_s.qb.ph %["#IO0"], %["#IO1"], %["#IO0"] \n\t" \ -- "precrqu_s.qb.ph %["#IO2"], %["#IO3"], %["#IO2"] \n\t" \ -- "precrqu_s.qb.ph %["#IO4"], %["#IO5"], %["#IO4"] \n\t" \ -- "precrqu_s.qb.ph %["#IO6"], %["#IO7"], %["#IO6"] \n\t" \ -- "usw %["#IO0"], "XSTR(I13)"*"#I9"(%["#I8"]) \n\t" \ -- "usw %["#IO2"], "XSTR(I13)"*"#I10"(%["#I8"]) \n\t" \ -- "usw %["#IO4"], "XSTR(I13)"*"#I11"(%["#I8"]) \n\t" \ -- "usw %["#IO6"], "XSTR(I13)"*"#I12"(%["#I8"]) \n\t" -+ "addq.ph %[" #IO0 "], %[" #IO0 "], %[" #I0 "] \n\t" \ -+ "addq.ph %[" #IO1 "], %[" #IO1 "], %[" #I1 "] \n\t" \ -+ "addq.ph %[" #IO2 "], %[" #IO2 "], %[" #I2 "] \n\t" \ -+ "addq.ph %[" #IO3 "], %[" #IO3 "], %[" #I3 "] \n\t" \ -+ "addq.ph %[" #IO4 "], %[" #IO4 "], %[" #I4 "] \n\t" \ -+ "addq.ph %[" #IO5 "], %[" #IO5 "], %[" #I5 "] \n\t" \ -+ "addq.ph %[" #IO6 "], %[" #IO6 "], %[" #I6 "] \n\t" \ -+ "addq.ph %[" #IO7 "], %[" #IO7 "], %[" #I7 "] \n\t" \ -+ "shll_s.ph %[" #IO0 "], %[" #IO0 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO1 "], %[" #IO1 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO2 "], %[" #IO2 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO3 "], %[" #IO3 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO4 "], %[" #IO4 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO5 "], %[" #IO5 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO6 "], %[" #IO6 "], 7 \n\t" \ -+ "shll_s.ph %[" #IO7 "], %[" #IO7 "], 7 \n\t" \ -+ "precrqu_s.qb.ph %[" #IO0 "], %[" #IO1 "], %[" #IO0 "] \n\t" \ -+ "precrqu_s.qb.ph %[" #IO2 "], %[" #IO3 "], %[" #IO2 "] \n\t" \ -+ "precrqu_s.qb.ph %[" #IO4 "], %[" #IO5 "], %[" #IO4 "] \n\t" \ -+ "precrqu_s.qb.ph %[" #IO6 "], %[" #IO7 "], %[" #IO6 "] \n\t" \ -+ "usw %[" #IO0 "], "XSTR(I13)"*" #I9 "(%[" #I8 "]) \n\t" \ -+ "usw %[" #IO2 "], "XSTR(I13)"*" #I10 "(%[" #I8 "]) \n\t" \ -+ "usw %[" #IO4 "], "XSTR(I13)"*" #I11 "(%[" #I8 "]) \n\t" \ -+ "usw %[" #IO6 "], "XSTR(I13)"*" #I12 "(%[" #I8 "]) \n\t" - - #define OUTPUT_EARLY_CLOBBER_REGS_10() \ - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), \ -diff --git a/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -index 9c9665f..46f207b 100644 ---- a/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -@@ -34,15 +34,15 @@ - G = G - t2 + kGCst; \ - B = B + kBCst; \ - __asm__ volatile ( \ -- "shll_s.w %["#R"], %["#R"], 9 \n\t" \ -- "shll_s.w %["#G"], %["#G"], 9 \n\t" \ -- "shll_s.w %["#B"], %["#B"], 9 \n\t" \ -- "precrqu_s.qb.ph %["#R"], %["#R"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#G"], %["#G"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#B"], %["#B"], $zero \n\t" \ -- "srl %["#R"], %["#R"], 24 \n\t" \ -- "srl %["#G"], %["#G"], 24 \n\t" \ -- "srl %["#B"], %["#B"], 24 \n\t" \ -+ "shll_s.w %[" #R "], %[" #R "], 9 \n\t" \ -+ "shll_s.w %[" #G "], %[" #G "], 9 \n\t" \ -+ "shll_s.w %[" #B "], %[" #B "], 9 \n\t" \ -+ "precrqu_s.qb.ph %[" #R "], %[" #R "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #G "], %[" #G "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #B "], %[" #B "], $zero \n\t" \ -+ "srl %[" #R "], %[" #R "], 24 \n\t" \ -+ "srl %[" #G "], %[" #G "], 24 \n\t" \ -+ "srl %[" #B "], %[" #B "], 24 \n\t" \ - : [R]"+r"(R), [G]"+r"(G), [B]"+r"(B) \ - : \ - ); \ -diff --git a/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -index 43f02cc..45a2200 100644 ---- a/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -@@ -39,12 +39,12 @@ - "addu %[temp5], %[temp0], %[temp1] \n\t" \ - "subu %[temp6], %[temp0], %[temp2] \n\t" \ - "addu %[temp7], %[temp0], %[temp4] \n\t" \ --".if "#K" \n\t" \ -+".if " #K " \n\t" \ - "lbu %[temp0], 1(%[y]) \n\t" \ - ".endif \n\t" \ - "shll_s.w %[temp5], %[temp5], 9 \n\t" \ - "shll_s.w %[temp6], %[temp6], 9 \n\t" \ --".if "#K" \n\t" \ -+".if " #K " \n\t" \ - "mul %[temp0], %[t_con_5], %[temp0] \n\t" \ - ".endif \n\t" \ - "shll_s.w %[temp7], %[temp7], 9 \n\t" \ -@@ -54,9 +54,9 @@ - "srl %[temp5], %[temp5], 24 \n\t" \ - "srl %[temp6], %[temp6], 24 \n\t" \ - "srl %[temp7], %[temp7], 24 \n\t" \ -- "sb %[temp5], "#R"(%[dst]) \n\t" \ -- "sb %[temp6], "#G"(%[dst]) \n\t" \ -- "sb %[temp7], "#B"(%[dst]) \n\t" \ -+ "sb %[temp5], " #R "(%[dst]) \n\t" \ -+ "sb %[temp6], " #G "(%[dst]) \n\t" \ -+ "sb %[temp7], " #B "(%[dst]) \n\t" \ - - #define ASM_CLOBBER_LIST() \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ diff --git a/gnu/packages/patches/freeimage-unbundle.patch b/gnu/packages/patches/freeimage-unbundle.patch index ca907d3276..4d9b8e25c9 100644 --- a/gnu/packages/patches/freeimage-unbundle.patch +++ b/gnu/packages/patches/freeimage-unbundle.patch @@ -1,4 +1,4 @@ -https://src.fedoraproject.org/cgit/rpms/freeimage.git/tree/FreeImage-3.17.0_unbundle.patch +https://src.fedoraproject.org/cgit/rpms/freeimage.git/tree/FreeImage_unbundle.patch diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh --- FreeImage/genfipsrclist.sh 2015-02-20 10:52:16.000000000 +0100 @@ -25,10 +25,10 @@ diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh #!/bin/sh -DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib" -+DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib" ++DIRLIST=". Source Source/Metadata Source/FreeImageToolkit" echo "VER_MAJOR = 3" > Makefile.srcs - echo "VER_MINOR = 17.0" >> Makefile.srcs + echo "VER_MINOR = 18.0" >> Makefile.srcs diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip --- FreeImage/Makefile.fip 2015-03-08 18:03:56.000000000 +0100 +++ FreeImage-new/Makefile.fip 2015-09-05 02:14:09.212684028 +0200 @@ -90,8 +90,8 @@ diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu -# LibJXR -CXXFLAGS += -D__ANSI__ -CXXFLAGS += $(INCLUDE) -+override CFLAGS += $(INCLUDE) -D__ANSI__ $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) -+override LDFLAGS += -ljpeg $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) ++override CFLAGS += $(INCLUDE) -D__ANSI__ -I/usr/include/jxrlib $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) ++override LDFLAGS += -ljpeg -ljpegxr -ljxrglue $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) - CFLAGS += -fPIC @@ -215,6 +215,18 @@ diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeIm } #include "FreeImage.h" +diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp +--- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2018-07-31 23:37:58.561953201 +0200 +@@ -23,7 +23,7 @@ + #include "Utilities.h" + #include "../Metadata/FreeImageTag.h" + +-#include "../LibJXR/jxrgluelib/JXRGlue.h" ++#include + + // ========================================================== + // Plugin Interface diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp --- FreeImage/Source/FreeImage/PluginPNG.cpp 2015-03-10 20:16:12.000000000 +0100 +++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2015-09-05 02:13:52.044353363 +0200 @@ -241,38 +253,39 @@ diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeIma #include "FreeImage.h" #include "Utilities.h" + diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp --- FreeImage/Source/FreeImage/PluginTIFF.cpp 2015-03-02 02:07:08.000000000 +0100 +++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2015-09-05 02:13:52.044353363 +0200 @@ -37,9 +37,9 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibTIFF4/tiffiop.h" -+#include - #include "../Metadata/FreeImageTag.h" --#include "../OpenEXR/Half/half.h" -+#include - - #include "FreeImageIO.h" - #include "PSDParser.h" -@@ -194,16 +194,6 @@ TIFFFdOpen(thandle_t handle, const char - return tif; - } - --/** --Open a TIFF file for reading or writing --@param name --@param mode --*/ --TIFF* --TIFFOpen(const char* name, const char* mode) { -- return 0; --} -- - // ---------------------------------------------------------- - // TIFF library FreeImage-specific routines. - // ---------------------------------------------------------- + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibTIFF4/tiffiop.h" ++#include + #include "../Metadata/FreeImageTag.h" +-#include "../OpenEXR/Half/half.h" ++#include + + #include "FreeImageIO.h" + #include "PSDParser.h" +@@ -194,16 +194,6 @@ TIFFFdOpen(thandle_t handle, const char *name, const char *mode) { + return tif; + } + +-/** +-Open a TIFF file for reading or writing +-@param name +-@param mode +-*/ +-TIFF* +-TIFFOpen(const char* name, const char* mode) { +- return 0; +-} +- + // ---------------------------------------------------------- + // TIFF library FreeImage-specific routines. + // ---------------------------------------------------------- diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp --- FreeImage/Source/FreeImage/PluginWebP.cpp 2015-03-02 02:07:08.000000000 +0100 +++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2015-09-05 02:13:52.044353363 +0200 @@ -282,15 +295,81 @@ diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeIm -#include "../LibWebP/src/webp/decode.h" -#include "../LibWebP/src/webp/encode.h" --#include "../LibWebP/src/enc/vp8enci.h" -#include "../LibWebP/src/webp/mux.h" +#include +#include -+// #include "../LibWebP/src/enc/vp8enci.h" +#include // ========================================================== // Plugin Interface + diff -rupN FreeImage/Source/FreeImage/PSDParser.cpp FreeImage-new/Source/FreeImage/PSDParser.cpp +--- FreeImage/Source/FreeImage/PSDParser.cpp 2016-02-11 03:18:02.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PSDParser.cpp 2018-08-01 00:17:18.323822675 +0200 +@@ -133,8 +133,8 @@ public: + template <> + class PSDGetValue<8> { + public: +- static inline UINT64 get(const BYTE * iprBuffer) { +- UINT64 v = ((const UINT64*)iprBuffer)[0]; ++ static inline uint64_t get(const BYTE * iprBuffer) { ++ uint64_t v = ((const uint64_t*)iprBuffer)[0]; + #ifndef FREEIMAGE_BIGENDIAN + SwapInt64(&v); + #endif +@@ -147,7 +147,7 @@ public: + + // -------------------------------------------------------------------------- + +-static UINT64 ++static uint64_t + psdReadSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header) { + if(header._Version == 1) { + BYTE Length[4]; +@@ -199,11 +199,11 @@ public: + template <> + class PSDSetValue<8> { + public: +- static inline void set(const BYTE * iprBuffer, UINT64 v) { ++ static inline void set(const BYTE * iprBuffer, uint64_t v) { + #ifndef FREEIMAGE_BIGENDIAN + SwapInt64(&v); + #endif +- ((UINT64*)iprBuffer)[0] = v; ++ ((uint64_t*)iprBuffer)[0] = v; + } + }; + +@@ -213,7 +213,7 @@ public: + // -------------------------------------------------------------------------- + + static inline bool +-psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, UINT64 v) { ++psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, uint64_t v) { + if(header._Version == 1) { + BYTE Length[4]; + psdSetLongValue(Length, sizeof(Length), (DWORD)v); +@@ -1063,10 +1063,10 @@ unsigned psdParser::GetChannelOffset(FIB + bool psdParser::ReadLayerAndMaskInfoSection(FreeImageIO *io, fi_handle handle) { + bool bSuccess = true; + +- UINT64 nTotalBytes = psdReadSize(io, handle, _headerInfo); ++ uint64_t nTotalBytes = psdReadSize(io, handle, _headerInfo); + + // Hack to handle large PSB files without using fseeko(). +- if (sizeof(long) < sizeof(UINT64)) { ++ if (sizeof(long) < sizeof(uint64_t)) { + const long offset = 0x10000000; + while (nTotalBytes > offset) { + if (io->seek_proc(handle, offset, SEEK_CUR) != 0) { +@@ -1672,7 +1672,7 @@ bool psdParser::WriteLayerAndMaskInfoSec + // Short section with no layers. + BYTE IntValue[4]; + +- UINT64 size; ++ uint64_t size; + if(_headerInfo._Version == 1) { + size = 8; + } else { diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp --- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-02 02:07:10.000000000 +0100 +++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2015-09-05 02:13:52.044353363 +0200 @@ -536,3 +615,21 @@ diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTI if(skip_write_field(tif, tag_id)) { // skip tags that are already handled by the LibTIFF writing process +diff -rupN FreeImage/Source/Utilities.h FreeImage-new/Source/Utilities.h +--- FreeImage/Source/Utilities.h 2016-04-11 15:15:32.000000000 +0200 ++++ FreeImage-new/Source/Utilities.h 2018-08-01 00:16:29.826825358 +0200 +@@ -446,12 +446,12 @@ SwapLong(DWORD *lp) { + } + + inline void +-SwapInt64(UINT64 *arg) { ++SwapInt64(uint64_t *arg) { + #if defined(_MSC_VER) && _MSC_VER >= 1310 + *arg = _byteswap_uint64(*arg); + #else + union Swap { +- UINT64 sv; ++ uint64_t sv; + DWORD ul[2]; + } tmp, result; + tmp.sv = *arg; -- cgit v1.2.3 From 49dc1669a8bb2ba923cb064173025858931cc9c9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 17:14:21 +0200 Subject: gnu: you-get: Update to 0.4.1355. * gnu/packages/video.scm (you-get): Update to 0.4.1355. --- 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 d5a51a00b0..5180f275ad 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1631,7 +1631,7 @@ (define-public youtube-dl-gui (define-public you-get (package (name "you-get") - (version "0.4.1328") + (version "0.4.1355") (source (origin (method git-fetch) (uri (git-reference @@ -1640,7 +1640,7 @@ (define-public you-get (file-name (git-file-name name version)) (sha256 (base32 - "1r9qffwvxmp74byva12h2jsn3n33vyim052sx9lykv5dygibbp65")))) + "0xq7z04hvw3b3npiahlpzhbxsjvam9n9dynplyrkn84dx6k9ajbj")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos -- cgit v1.2.3 From aa1c7b4914fc7aeb31b2953388d3041dbf0b0ac6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 01:13:08 +0200 Subject: gnu: spirv-tools: Update to 2019.2. * gnu/packages/vulkan.scm (spirv-tools): Update to 2019.2. --- gnu/packages/vulkan.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 511831b9bd..f12062ac2f 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -82,7 +82,7 @@ (define-public spirv-headers (define-public spirv-tools (package (name "spirv-tools") - (version "2019.1") + (version "2019.2") (source (origin (method git-fetch) @@ -90,8 +90,7 @@ (define-public spirv-tools (url "https://github.com/KhronosGroup/SPIRV-Tools") (commit (string-append "v" version)))) (sha256 - (base32 - "0vddjzhkrhrm3l3i57nxmq2smv3r1s0ka5ff2kziaahr4hqb479r")) + (base32 "0zwz6qg8g8165h7cw52agryjrdb29gbmsbziw3pwiddfkyma8vvg")) (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments -- cgit v1.2.3 From d7a7d255c4566652a79210ca1d6b9b1d8fe9f9b7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 01:21:38 +0200 Subject: gnu: spirv-tools: Use GIT-FILE-NAME. * gnu/packages/vulkan.scm (spirv-tools)[source]: Use GIT-FILE-NAME. --- gnu/packages/vulkan.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index f12062ac2f..9260a2cf9f 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -91,7 +91,7 @@ (define-public spirv-tools (commit (string-append "v" version)))) (sha256 (base32 "0zwz6qg8g8165h7cw52agryjrdb29gbmsbziw3pwiddfkyma8vvg")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments `(#:tests? #f ; FIXME: Tests fail. -- cgit v1.2.3 From e0aa4e949e77fd945a5a2fdd4be257c8782891d8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 04:06:47 +0200 Subject: gnu: mlt: Update to 6.16.0. * gnu/packages/video.scm (mlt): Update to 6.16.0. --- 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 5180f275ad..fd1d98dc01 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2203,7 +2203,7 @@ (define-public twitchy (define-public mlt (package (name "mlt") - (version "6.12.0") + (version "6.16.0") (source (origin (method git-fetch) (uri (git-reference @@ -2212,7 +2212,7 @@ (define-public mlt (file-name (git-file-name name version)) (sha256 (base32 - "0pzm3mjbbdl2rkbswgyfkx552xlxh2qrwzsi2a4dicfr92rfgq6w")))) + "1362fv63p34kza9v4b71b6wakgvsa2vdx9y0g28x3yh4cp4k97kx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests -- cgit v1.2.3 From dc29bea3404965911acab83d7f20968bdec788bb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 16:26:20 +0200 Subject: gnu: rofi: Update to 1.5.4. * gnu/packages/xdisorg.scm (rofi): Update to 1.5.4. --- 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 066804ed9e..1700e7b5c2 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1178,7 +1178,7 @@ (define-public xdpyprobe (define-public rofi (package (name "rofi") - (version "1.5.3") + (version "1.5.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1186,7 +1186,7 @@ (define-public rofi version "/rofi-" version ".tar.xz")) (sha256 (base32 - "0y78ya2va2lg3ww17n11y9awn8lhcp1px2d8gxaimxfqlxczs8la")))) + "1nslmyqyzhfr4hxd4llqkkkb8ap8apkdna32rllvar7r576059ci")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) -- cgit v1.2.3 From 005e539edf009c5431f8d11dc34ad23b8424bda2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 16:41:37 +0200 Subject: gnu: iproute2: Update to 5.3.0. * gnu/packages/linux.scm (iproute): Update to 5.3.0. --- 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 f8ad96e89d..b2b7a480fc 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1706,7 +1706,7 @@ (define-public ebtables (define-public iproute (package (name "iproute2") - (version "5.2.0") + (version "5.3.0") (source (origin (method url-fetch) (uri (string-append @@ -1714,7 +1714,7 @@ (define-public iproute version ".tar.xz")) (sha256 (base32 - "1a2dywa2kam24951byv9pl32mb9z6klh7d4vp8fwfgrm4vn5vfd5")))) + "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. -- cgit v1.2.3 From 3b6362969cb92e6b29343462ecc584a223376d25 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 16:53:05 +0200 Subject: gnu: iproute2: Add libmnl input. * gnu/packages/linux.scm (iproute)[inputs]: Add libmnl. --- gnu/packages/linux.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b2b7a480fc..027c920357 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1739,7 +1739,8 @@ (define-public iproute #t))))) (inputs `(("db4" ,bdb) - ("iptables" ,iptables))) + ("iptables" ,iptables) + ("libmnl" ,libmnl))) (native-inputs `(("bison" ,bison) ("flex" ,flex) -- cgit v1.2.3 From b7f5fa8285d5572a1e00f6b5933486dbb17bb41a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 16:50:04 +0200 Subject: gnu: celluloid: Update to 0.17 from gnome-mpv. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (celluloid): ‘New’ public variable. (gnome-mpv): Redefine as DEPRECATED-PACKAGE. --- gnu/packages/video.scm | 53 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fd1d98dc01..ce848d1847 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -204,6 +204,32 @@ (define-public aalib old-fashioned output methods with powerful ascii-art renderer.") (license license:lgpl2.0+))) +(define-public celluloid + (package + (name "celluloid") + (version "0.17") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/celluloid-player/celluloid/releases" + "/download/v" version "/celluloid-" version ".tar.xz")) + (sha256 + (base32 "0a3bhvs38gxjplygb0q9cx5djl5y0bmnxgaq0sd65j610a60f5h0")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+) + ("libepoxy" ,libepoxy) + ("mpv" ,mpv))) + (home-page "https://github.com/celluloid-player/celluloid") + (synopsis "GTK+ frontend for the mpv media player") + (description "Celluloid is a simple GTK+ frontend for the mpv media player. +It interacts with mpv via the client API exported by libmpv, allowing access to +mpv's powerful playback capabilities.") + (license license:gpl3+))) + (define-public liba52 (package (name "liba52") @@ -1404,32 +1430,7 @@ (define-public mpv (license license:gpl2+))) (define-public gnome-mpv - (package - (name "gnome-mpv") - (version "0.16") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases" - "/download/v" version "/gnome-mpv-" version - ".tar.xz")) - (sha256 - (base32 - "0jzdzvhcqp5jp1inwk2466zf7r8iimk3x69066gl8mzaay98mk92")))) - (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) - (inputs - `(("gtk+" ,gtk+) - ("libepoxy" ,libepoxy) - ("mpv" ,mpv))) - (build-system glib-or-gtk-build-system) - (home-page "https://github.com/gnome-mpv/gnome-mpv") - (synopsis "GTK+ frontend for the mpv media player") - (description "GNOME MPV is a simple GTK+ frontend for the mpv media player. -GNOME MPV interacts with mpv via the client API exported by libmpv, allowing -access to mpv's powerful playback capabilities.") - (license license:gpl3+))) + (deprecated-package "gnome-mpv" celluloid)) (define-public libvpx (package -- cgit v1.2.3 From 8aba8c7b74961a199c4fc99c3181151c074225c4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 16:55:26 +0200 Subject: gnu: youtube-dl: Update to 2019.09.12.1. * gnu/packages/video.scm (youtube-dl): Update to 2019.09.12.1. --- 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 ce848d1847..94254d0c78 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1493,7 +1493,7 @@ (define-public libvpx-1.7 (define-public youtube-dl (package (name "youtube-dl") - (version "2019.09.12") + (version "2019.09.12.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1501,7 +1501,7 @@ (define-public youtube-dl version ".tar.gz")) (sha256 (base32 - "0wmc0rl4l08hnz3agh69ld1pcmjs7czg0d2k7mnnlxhwlwi38w56")))) + "0h7v81kcxcpy82wq9b1aiz2zg6hg7rnlcfmzd13j6k8yhr7ah9yf")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From b106dd84dbf758efa8fb0212bdd8dc5999ccd8d9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 17:39:24 +0200 Subject: gnu: xf86-input-wacom: Don't use NAME in source URI. * gnu/packages/xdisorg.scm (xf86-input-wacom)[source]: Hard-code NAME. --- gnu/packages/xdisorg.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 1700e7b5c2..0b40ca6909 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -999,7 +999,8 @@ (define-public xf86-input-wacom (method url-fetch) (uri (string-append "https://github.com/linuxwacom/xf86-input-wacom/releases/download/" - name "-" version "/" name "-" version ".tar.bz2")) + "xf86-input-wacom-" version "/" + "xf86-input-wacom-" version ".tar.bz2")) (sha256 (base32 "029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij")))) -- cgit v1.2.3 From 0ed0e3bfb763653fbc8901e26905022fd287746c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 04:43:00 +0200 Subject: gnu: fmit: Update to 1.2.13. * gnu/packages/music.scm (fmit): Update to 1.2.13. --- 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 4d1e11f260..2b54842c95 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4534,7 +4534,7 @@ (define-public lpd8editor (define-public fmit (package (name "fmit") - (version "1.2.6") + (version "1.2.13") (source (origin (method git-fetch) (uri (git-reference @@ -4543,7 +4543,7 @@ (define-public fmit (file-name (git-file-name name version)) (sha256 (base32 - "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz")))) + "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 65d20127ef15316fca52115f6ae798ffc53cc863 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 04:52:25 +0200 Subject: gnu: emacs-xelb: Update to 0.18. * gnu/packages/emacs-xyz.scm (emacs-xelb): Update to 0.18. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 84cfc75ebc..c641e9d716 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8655,14 +8655,14 @@ (define-public emacs-org2web (define-public emacs-xelb (package (name "emacs-xelb") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xelb-" version ".tar")) (sha256 (base32 - "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml")))) + "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7")))) (build-system emacs-build-system) ;; The following functions and variables needed by emacs-xelb are ;; not included in emacs-minimal: -- cgit v1.2.3 From d94ec407585dc4d34ec80a28567f98205c4f24c2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:01:12 +0200 Subject: gnu: beets: Use HTTPS home page. * gnu/packages/music.scm (beets)[home-page]: Use HTTPS. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2b54842c95..b28b375067 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2858,7 +2858,7 @@ (define-public beets ("python-mutagen" ,python-mutagen) ("python-pyyaml" ,python-pyyaml) ("python-unidecode" ,python-unidecode))) - (home-page "http://beets.io") + (home-page "https://beets.io") (synopsis "Music organizer") (description "The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its -- cgit v1.2.3 From 3f3d712cc525d65c184cea4c2048a62a4ec87c73 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:01:26 +0200 Subject: gnu: beets: Update to 1.4.9. * gnu/packages/music.scm (beets): Update to 1.4.9. [source]: Remove patch. [arguments]: Remove more Python 3.7 compatibility fixes. * gnu/packages/patches/beets-python-3.7-fix.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/music.scm | 11 +---- gnu/packages/patches/beets-python-3.7-fix.patch | 57 ------------------------- 3 files changed, 2 insertions(+), 67 deletions(-) delete mode 100644 gnu/packages/patches/beets-python-3.7-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 919e836b8c..49dc4e7b97 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -711,7 +711,6 @@ dist_patch_DATA = \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ - %D%/packages/patches/beets-python-3.7-fix.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b28b375067..508f2ea3bf 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2813,14 +2813,13 @@ (define-public instantmusic (define-public beets (package (name "beets") - (version "1.4.7") + (version "1.4.9") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) - (patches (search-patches "beets-python-3.7-fix.patch")) (sha256 (base32 - "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs")))) + "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj")))) (build-system python-build-system) (arguments `(#:phases @@ -2829,12 +2828,6 @@ (define-public beets (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) - (add-after 'unpack 'make-python3.7-compatible - (lambda _ - ;; See . - (substitute* "beets/autotag/hooks.py" - (("re\\._pattern_type") "re.Pattern")) - #t)) (replace 'check (lambda _ (invoke "nosetests" "-v")))))) diff --git a/gnu/packages/patches/beets-python-3.7-fix.patch b/gnu/packages/patches/beets-python-3.7-fix.patch deleted file mode 100644 index 43707cd9d0..0000000000 --- a/gnu/packages/patches/beets-python-3.7-fix.patch +++ /dev/null @@ -1,57 +0,0 @@ -Fix compatibility issue with Python 3.7: - -https://github.com/beetbox/beets/issues/2978 - -Patch copied from upstream source repository: - -https://github.com/beetbox/beets/commit/15d44f02a391764da1ce1f239caef819f08beed8 - -From 15d44f02a391764da1ce1f239caef819f08beed8 Mon Sep 17 00:00:00 2001 -From: Adrian Sampson -Date: Sun, 22 Jul 2018 12:34:19 -0400 -Subject: [PATCH] Fix Python 3.7 compatibility (#2978) - ---- - beets/autotag/hooks.py | 8 +++++++- - docs/changelog.rst | 2 ++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/beets/autotag/hooks.py b/beets/autotag/hooks.py -index 3615a9333..1c62a54c5 100644 ---- a/beets/autotag/hooks.py -+++ b/beets/autotag/hooks.py -@@ -31,6 +31,12 @@ - - log = logging.getLogger('beets') - -+# The name of the type for patterns in re changed in Python 3.7. -+try: -+ Pattern = re._pattern_type -+except AttributeError: -+ Pattern = re.Pattern -+ - - # Classes used to represent candidate options. - -@@ -433,7 +439,7 @@ def _eq(self, value1, value2): - be a compiled regular expression, in which case it will be - matched against `value2`. - """ -- if isinstance(value1, re._pattern_type): -+ if isinstance(value1, Pattern): - return bool(value1.match(value2)) - return value1 == value2 - -#diff --git a/docs/changelog.rst b/docs/changelog.rst -#index be6de2904..d487f31f5 100644 -#--- a/docs/changelog.rst -#+++ b/docs/changelog.rst -#@@ -19,6 +19,8 @@ New features: -# -# Fixes: -# -#+* Fix compatibility Python 3.7 and its change to a name in the ``re`` module. -#+ :bug:`2978` -# * R128 normalization tags are now properly deleted from files when the values -# are missing. -# Thanks to :user:`autrimpo`. -- cgit v1.2.3 From 3eb278aa9d8abb50666ae1241b3185f422aa15f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:15:01 +0200 Subject: gnu: f3: Update to 7.2. * gnu/packages/disk.scm (f3): Update to 7.2. --- gnu/packages/disk.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index cf53142533..4de0745190 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -402,7 +402,7 @@ (define-public pydf (define-public f3 (package (name "f3") - (version "7.1") + (version "7.2") (source (origin (method git-fetch) @@ -411,8 +411,7 @@ (define-public f3 (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0zglsmz683jg7f9wc6vmgljyg9w87pbnjw5x4w6x02w8233zvjqf")))) + (base32 "1iwdg0r4wkgc8rynmw1qcqz62l0ldgc8lrazq33msxnk5a818jgy")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target -- cgit v1.2.3 From 5dfdab05baf67eaaab9dc980a560de194b808f5e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:23:29 +0200 Subject: gnu: encodings: Update to 1.0.5. * gnu/packages/xorg.scm (encodings): Update to 1.0.5. --- gnu/packages/xorg.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 48c1e3cebe..af8dfda922 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -423,7 +423,7 @@ (define-public editres (define-public encodings (package (name "encodings") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -432,8 +432,7 @@ (define-public encodings version ".tar.bz2")) (sha256 - (base32 - "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf")))) + (base32 "0caafx0yqqnqyvbalxhh3mb0r9v36xmcy5zjhygb2i508dhy35mx")))) (build-system gnu-build-system) (inputs `(("mkfontscale" ,mkfontscale))) -- cgit v1.2.3 From 0a4f9445fde97b7aedd83826b5ce51c6fc30c240 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 18:52:29 +0200 Subject: gnu: xorgproto: Don't use NAME in source URI. * gnu/packages/xorg.scm (xorgproto)[source]: Hard-code NAME. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index af8dfda922..b1d93ac6c4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -215,7 +215,7 @@ (define-public xorgproto (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" - name "-" version ".tar.bz2")) + "xorgproto-" version ".tar.bz2")) (sha256 (base32 "180mqkp70i44rkmj430pmn9idssvffrgv4y5h19fm698a7h8bs7y")))) -- cgit v1.2.3 From 4a51d75929d9490ca8685dcd240bf567ce88544d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 18:53:44 +0200 Subject: gnu: libxcb: Don't use NAME in source URI. * gnu/packages/xorg.scm (libxcb)[source]: Hard-code NAME. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b1d93ac6c4..7f3f2dd5ec 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5021,7 +5021,7 @@ (define-public libxcb (origin (method url-fetch) (uri (string-append "https://xcb.freedesktop.org/dist/" - name "-" version ".tar.bz2")) + "libxcb-" version ".tar.bz2")) (sha256 (base32 "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q")))) -- cgit v1.2.3 From f51905a472f1ba87d61b52f532a18b23a79ffe57 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 23:40:00 +0200 Subject: gnu: vimb: Update to 3.5.0. * gnu/packages/web-browsers.scm (vimb): Update to 3.5.0. --- gnu/packages/web-browsers.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 6d4caa0f9f..dd19b5fc6b 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -331,7 +331,7 @@ (define-public qutebrowser (define-public vimb (package (name "vimb") - (version "3.3.0") + (version "3.5.0") (source (origin (method git-fetch) @@ -339,12 +339,11 @@ (define-public vimb (url "https://github.com/fanglingsu/vimb/") (commit version))) (sha256 - (base32 - "1qg18z2gnsli9qgrqfhqfrsi6g9mcgr90w8yab28nxrq4aha6brf")) + (base32 "13q7mk1hhjri0s30a98r8ncy0skf6m6lrnbqaf0jimf6sbwgiirf")) (file-name (git-file-name name version)))) (build-system glib-or-gtk-build-system) (arguments - '(#:tests? #f ; no tests + '(#:tests? #f ; no tests #:make-flags (list "CC=gcc" "DESTDIR=" (string-append "PREFIX=" %output)) -- cgit v1.2.3 From 9610a422b0d1640fb3dcc48740c72e0748cefb26 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 25 Sep 2019 23:44:22 +0200 Subject: gnu: bspwm: Update to 0.9.9. * gnu/packages/wm.scm (bspwm): Update to 0.9.9. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 72be0bdbe1..e47979d026 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -97,7 +97,7 @@ (define-module (gnu packages wm) (define-public bspwm (package (name "bspwm") - (version "0.9.5") + (version "0.9.9") (source (origin (method git-fetch) @@ -106,7 +106,7 @@ (define-public bspwm (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "09h3g1rxxjyw861mk32lj774nmwkx8cwxq4wfgmf4dpbizymvhhr")))) + (base32 "1i7crmljk1vra1r6alxvj6lqqailjjcv0llyg7a0gm23rbv4a42g")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb) -- cgit v1.2.3 From 3c39dc680f9dbde2b25cfec180757f57ea391934 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 00:51:39 +0200 Subject: gnu: skopeo: Update to 0.1.39. * gnu/packages/virtualization.scm (skopeo): Update to 0.1.39. --- gnu/packages/virtualization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f46c31df1f..d60044f65b 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -939,7 +939,7 @@ (define-public umoci (define-public skopeo (package (name "skopeo") - (version "0.1.28") + (version "0.1.39") (source (origin (method git-fetch) (uri (git-reference @@ -948,7 +948,7 @@ (define-public skopeo (file-name (git-file-name name version)) (sha256 (base32 - "068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0")))) + "1jkxmvh079pd9j4aa39ilmclwafnjs0yqdiigwh8cj7yf97x4vsi")))) (build-system go-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 2359e235a4b6fae2e318a3c17ece25bd1f7f5911 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:32:03 +0200 Subject: gnu: dehydrated: Update to 0.6.5. * gnu/packages/tls.scm (dehydrated): Update to 0.6.5. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index c06052239f..74d16f7586 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -883,7 +883,7 @@ (define-public mbedtls-for-hiawatha (define-public dehydrated (package (name "dehydrated") - (version "0.6.2") + (version "0.6.5") (source (origin (method url-fetch) (uri (string-append @@ -891,7 +891,7 @@ (define-public dehydrated "v" version "/dehydrated-" version ".tar.gz")) (sha256 (base32 - "03p80yj6bnzjc6dkp5hb9wpplmlrla8n5src71cnzw4rj53q8cqn")))) + "0dgskgbdd95p13jx6s13p77y15wngb5cm6p4305cf2s54w0bvahh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) -- cgit v1.2.3 From f70e567eea1e6adac209053fdc6dddbeec06b148 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 05:34:13 +0200 Subject: gnu: emacs-circe: Update to 2.11. * gnu/packages/emacs-xyz.scm (emacs-circe): Update to 2.11. --- gnu/packages/emacs-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c641e9d716..5606482c96 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9998,7 +9998,7 @@ (define-public emacs-oauth2 (define-public emacs-circe (package (name "emacs-circe") - (version "2.10") + (version "2.11") (source (origin (method git-fetch) @@ -10007,8 +10007,7 @@ (define-public emacs-circe (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s")))) + (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd")))) (build-system emacs-build-system) (arguments `(#:tests? #t -- cgit v1.2.3 From 91af1031e53e85e4200046ae47c38067c3dd7a85 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 26 Sep 2019 06:24:18 +0200 Subject: gnu: dtc: Update to 1.5.1. * gnu/packages/bootloaders.scm (dtc): Update to 1.5.1. [arguments]: Add -Wl,-rpath to LDFLAGS #:make-flags. --- gnu/packages/bootloaders.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index b235e1bc78..520728b52c 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -357,7 +357,7 @@ (define-public syslinux (define-public dtc (package (name "dtc") - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append @@ -365,7 +365,7 @@ (define-public dtc "dtc-" version ".tar.xz")) (sha256 (base32 - "0wh10p42hf5403ipvs0dsxddb6kzfyk2sq4fgid9zqzpr51y8wn6")))) + "07q3mdsvl4smbiakriq3hnsyyd0q344lsm306q0kgz4hjq1p82v6")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -379,6 +379,11 @@ (define-public dtc (arguments `(#:make-flags (list "CC=gcc" + + ;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1. + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "SETUP_PREFIX=" (assoc-ref %outputs "out")) "INSTALL=install") -- cgit v1.2.3 From 5d1d7ae413278594707f0735ca447872376883ec Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 20:55:06 +0200 Subject: gnu: emacs-evil-nerd-commenter: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-evil-nerd-commenter): Enable tests. --- gnu/packages/emacs-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5606482c96..f966862821 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7112,6 +7112,9 @@ (define-public emacs-evil-nerd-commenter "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) (home-page "https://github.com/redguardtoo/evil-nerd-commenter") (synopsis "Comment and uncomment lines efficiently") (description -- cgit v1.2.3 From fbbdce47e28a8723f08c1f224d06b0e55bbce75d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 20:58:53 +0200 Subject: gnu: emacs-yaml-mode: Update to 0.0.14. * gnu/packages/emacs-xyz.scm (emacs-yaml-mode): Update to 0.0.14. --- gnu/packages/emacs-xyz.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f966862821..c0a16ee87f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6360,15 +6360,16 @@ (define-public emacs-ido-ubiquitous (define-public emacs-yaml-mode (package (name "emacs-yaml-mode") - (version "0.0.13") + (version "0.0.14") (source (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/yoshiki" - "/yaml-mode/v" version "/yaml-mode.el")) - (file-name (string-append "yaml-mode-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/yoshiki/yaml-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj")))) + "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r")))) (build-system emacs-build-system) (home-page "https://github.com/yoshiki/yaml-mode") (synopsis "Major mode for editing YAML files") -- cgit v1.2.3 From 595c7c339ce6c77534089d2f020b8113d9df2fd7 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 21:08:54 +0200 Subject: gnu: emacs-web-mode: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-web-mode)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c0a16ee87f..1537cf1ce2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6411,13 +6411,14 @@ (define-public emacs-web-mode (name "emacs-web-mode") (version "16") (source (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/fxbois" - "/web-mode/v" version "/web-mode.el")) - (file-name (string-append "web-mode-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fxbois/web-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw")))) + "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0")))) (build-system emacs-build-system) (synopsis "Major mode for editing web templates") (description "Web-mode is an Emacs major mode for editing web templates -- cgit v1.2.3 From eee9277ba510dda6b63075831e88515fb1306cf6 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 21:16:05 +0200 Subject: gnu: emacs-make-it-so: Update to 0.1.0-2.b73dfb6. * gnu/packages/emacs-xyz.scm (emacs-make-it-so): Update to 0.1.0-2.b73dfb6. --- gnu/packages/emacs-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1537cf1ce2..7ae3702593 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9853,12 +9853,11 @@ (define-public emacs-emojify (license license:gpl3+))) (define-public emacs-make-it-so - (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be") - (version "0.1.0") - (revision "1")) + (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126") + (revision "2")) (package (name "emacs-make-it-so") - (version (git-version version revision commit)) + (version (git-version "0.1.0" revision commit)) (source (origin (method git-fetch) @@ -9867,7 +9866,7 @@ (define-public emacs-make-it-so (commit commit))) (sha256 (base32 - "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z")))) + "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq")))) (build-system emacs-build-system) (arguments `(#:include (cons "^recipes/" %default-include))) -- cgit v1.2.3 From e745dd119a3ba2d5b9475f79ef515758e0bc684a Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 21:16:33 +0200 Subject: gnu: emacs-websocket: Enable some tests. * gnu/packages/emacs-xyz.scm (emacs-websocket): Enable some tests. --- gnu/packages/emacs-xyz.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7ae3702593..f4e0df0202 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9965,6 +9965,12 @@ (define-public emacs-websocket (base32 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52")))) (build-system emacs-build-system) + (arguments + `(#:tests? #t + ;; TODO: also enable websocket-functional-test.el + #:test-command '("emacs" "--batch" + "-l" "websocket-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "http://elpa.gnu.org/packages/websocket.html") (synopsis "Emacs WebSocket client and server") (description "This is an Elisp library for WebSocket clients to talk to -- cgit v1.2.3 From 82431a10cc485981b55218a26fdbd7d9b8eb0da9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 25 Sep 2019 21:21:12 +0200 Subject: gnu: emacs-nov-el: Update to 0.2.9. * gnu/packages/emacs-xyz.scm (emacs-nov-el): Update to 0.2.9. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f4e0df0202..2b7b95d89a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10594,7 +10594,7 @@ (define-public emacs-esxml (define-public emacs-nov-el (package (name "emacs-nov-el") - (version "0.2.6") + (version "0.2.9") (source (origin (method git-fetch) (uri (git-reference @@ -10603,7 +10603,7 @@ (define-public emacs-nov-el (file-name (git-file-name name version)) (sha256 (base32 - "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc")))) + "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3")))) (build-system emacs-build-system) (arguments `(#:phases -- cgit v1.2.3 From 0155e23b34245699b5d2fb920dbd6d65720e621b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 07:56:51 +0200 Subject: gnu: emacs-mu4e-conversation: Update to 0.0.1-5.98110bb. * gnu/packages/emacs-xyz.scm (emacs-mu4e-conversation): Update to 0.0.1-5.98110bb. --- gnu/packages/emacs-xyz.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2b7b95d89a..22d81cd6af 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14790,21 +14790,21 @@ (define-public emacs-wgrep-helm (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (define-public emacs-mu4e-conversation - (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e")) + (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96") + (revision "5")) (package (name "emacs-mu4e-conversation") - (version (git-version "20181126" "4" commit)) + (version (git-version "0.0.1" revision commit)) (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/Ambrevar/mu4e-conversation/" - "repository/archive.tar.gz?ref=" - commit)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Ambrevar/mu4e-conversation.git") + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29")))) + "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg")))) (build-system emacs-build-system) (propagated-inputs `(("mu" ,mu))) -- cgit v1.2.3 From d8b352bea7657f039b669846eceb84aedd0f67ed Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 08:02:29 +0200 Subject: gnu: emacs-youtube-dl: Update to 1.0-2.af877b5. * gnu/packages/emacs-xyz.scm (emacs-youtube-dl): Update to 1.0-2.af877b5. --- gnu/packages/emacs-xyz.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 22d81cd6af..d3991427f2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15379,10 +15379,11 @@ (define-public emacs-hackernews (license license:gpl3)))) (define-public emacs-youtube-dl - (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd")) + (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4") + (revision "2")) (package (name "emacs-youtube-dl") - (version (git-version "1.0" "1" commit)) + (version (git-version "1.0" "2" commit)) (source (origin (method git-fetch) @@ -15392,7 +15393,7 @@ (define-public emacs-youtube-dl (file-name (git-file-name name version)) (sha256 (base32 - "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6")))) + "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j")))) (build-system emacs-build-system) (inputs `(("youtube-dl" ,youtube-dl))) -- cgit v1.2.3 From 06bdb36837c33d7cd0ba34fd9652067df62cb027 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 08:25:52 +0200 Subject: gnu: Add emacs-dash-docs. * gnu/packages/emacs-xyz.scm (emacs-dash-docs): New variable. --- gnu/packages/emacs-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d3991427f2..f43538ecb5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17516,6 +17516,53 @@ (define-public emacs-org-download copied into @code{org-mode} buffers.") (license license:gpl3+)))) +(define-public emacs-dash-docs + (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a") + (revision "1")) + (package + (name "emacs-dash-docs") + (version (git-version "1.4.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dash-docs-el/dash-docs.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-async" ,emacs-async))) + (native-inputs + `(("emacs-undercover" ,emacs-undercover) + ("emacs-ert-runner" ,emacs-ert-runner))) + (arguments + `(#:tests? #t + #:test-command '("ert-runner") + #:phases + ;; this test requires network access, so remove it + (modify-phases %standard-phases + (add-before 'check 'make-tests-writable + (lambda _ + (make-file-writable "test/dash-docs-test.el") + #t)) + (add-before 'check 'delete-test + (lambda _ + (emacs-batch-edit-file "test/dash-docs-test.el" + `(progn (progn + (goto-char (point-min)) + (re-search-forward "ert-deftest dash-docs-official-docsets-test") + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer))) + #t))))) + (home-page "https://github.com/dash-docs-el/dash-docs") + (synopsis "Offline documentation browser for APIs using Dash docsets") + (description "This package exposes functionality to work with Dash docsets.") + (license license:gpl3+)))) + (define-public emacs-helm-dash (let ((commit "192b862185df661439a06de644791171e899348a") (version "1.3.0") -- cgit v1.2.3 From b8563caf115e528fa07dffd64188ee6a81415a24 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 08:26:23 +0200 Subject: gnu: emacs-counsel-dash: Update to 0.1.3-2.24d370b. * gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Update to 0.1.3-2.24d370b. --- gnu/packages/emacs-xyz.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f43538ecb5..826d53235f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17590,12 +17590,11 @@ (define-public emacs-helm-dash (license license:gpl3+)))) (define-public emacs-counsel-dash - (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2") - (version "0.1.3") - (revision "3")) + (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9") + (revision "2")) (package (name "emacs-counsel-dash") - (version (git-version version revision commit)) + (version (git-version "0.1.3" revision commit)) (source (origin (method git-fetch) @@ -17605,11 +17604,10 @@ (define-public emacs-counsel-dash (file-name (git-file-name name version)) (sha256 (base32 - "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8")))) + "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-helm-dash" ,emacs-helm-dash) - ("emacs-dash" ,emacs-dash) + `(("emacs-dash-docs" ,emacs-dash-docs) ("emacs-ivy" ,emacs-ivy))) (home-page "https://github.com/nathankot/counsel-dash") (synopsis "Offline documentation browser for APIs using Dash docsets") -- cgit v1.2.3 From 205a0fe0948257c75619db506f033827d591c47e Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 08:26:55 +0200 Subject: gnu: emacs-helm-dash: Update to 1.3.0-2.7f853bd. * gnu/packages/emacs-xyz.scm (emacs-helm-dash): Update to 1.3.0-2.7f853bd. --- gnu/packages/emacs-xyz.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 826d53235f..bea8463cd2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17564,25 +17564,25 @@ (define-public emacs-dash-docs (license license:gpl3+)))) (define-public emacs-helm-dash - (let ((commit "192b862185df661439a06de644791171e899348a") - (version "1.3.0") - (revision "18")) + (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59") + (revision "2")) (package (name "emacs-helm-dash") - (version (git-version version revision commit)) + (version (git-version "1.3.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/areina/helm-dash") + (url "https://github.com/areina/helm-dash.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w")))) + "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-helm" ,emacs-helm))) + `(("emacs-helm" ,emacs-helm) + ("emacs-dash-docs" ,emacs-dash-docs))) (home-page "https://github.com/areina/helm-dash") (synopsis "Offline documentation browser for APIs using Dash docsets") (description "This package uses Helm to install and navigate through -- cgit v1.2.3 From 4a506da83a3af829a42c9433bd0087a96d6f1c7a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 17:49:41 +0200 Subject: doc: Fix syntax of Varnish example. * doc/guix.texi (Web Services): Escape nested string in '%gnu-mirror' variable definition. Adjust indentation. --- doc/guix.texi | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 267c2e9e6c..762e8da2bd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19819,13 +19819,12 @@ can do something along these lines: @lisp (define %gnu-mirror - (plain-file - "gnu.vcl" - "vcl 4.1; -backend gnu @{ .host = "www.gnu.org"; @}")) + (plain-file "gnu.vcl" + "vcl 4.1; +backend gnu @{ .host = \"www.gnu.org\"; @}")) (operating-system - ... + ;; @dots{} (services (cons (service varnish-service-type (varnish-configuration (listen '(":80")) -- cgit v1.2.3 From 473bd8100bd4039116912e0f10420240fd19f5c7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 17:52:17 +0200 Subject: doc: Add missing parens in inetd example. * doc/guix.texi (Networking Services): Add missing parens in inetd service example. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 762e8da2bd..64a0742255 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13349,7 +13349,7 @@ gateway @code{hostname}: (program (file-append openssh "/bin/ssh")) (arguments '("ssh" "-qT" "-i" "/path/to/ssh_key" - "-W" "smtp-server:25" "user@@hostname"))))) + "-W" "smtp-server:25" "user@@hostname"))))))) @end lisp See below for more details about @code{inetd-configuration}. -- cgit v1.2.3 From 31e6e6a89f354b05132a3c209161f204a00557e1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 18:07:55 +0200 Subject: doc: Add missing paren in CPE example. * doc/guix.texi (Invoking guix lint): Add missing paren in 'cpe-name' example. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 64a0742255..2f4e0ad7f9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9470,7 +9470,7 @@ that Guix uses, as in this example: ;; @dots{} ;; CPE calls this package "grub2". (properties '((cpe-name . "grub2") - (cpe-version . "2.3"))) + (cpe-version . "2.3")))) @end lisp @c See . -- cgit v1.2.3 From 71339070a9c38dc5502697edacb11adbc30303eb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2019 18:08:33 +0200 Subject: doc: Do not comment out closing parens in Android examples. * doc/guix.texi (Base Services): Arrange so that closin parens are not commented out. --- doc/guix.texi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2f4e0ad7f9..4ffffcdc81 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12389,7 +12389,7 @@ The following example showcases how we can use an existing rule file. @lisp (use-modules (guix download) ;for url-fetch (guix packages) ;for origin - ;; @dots{}) + @dots{}) (define %android-udev-rules (file->udev-rule @@ -12423,7 +12423,7 @@ well as in the @var{groups} field of the @var{operating-system} record. @lisp (use-modules (gnu packages android) ;for android-udev-rules (gnu system shadow) ;for user-group - ;; @dots{}) + @dots{}) (operating-system ;; @dots{} @@ -12431,8 +12431,7 @@ well as in the @var{groups} field of the @var{operating-system} record. ;; @dots{} (supplementary-groups '("adbusers" ;for adb - "wheel" "netdev" "audio" "video")) - ;; @dots{}))) + "wheel" "netdev" "audio" "video"))))) (groups (cons (user-group (system? #t) (name "adbusers")) %base-groups)) -- cgit v1.2.3 From 3972dc5d43ea824ee4ab78592e759f62ce90bf6a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Sep 2019 17:50:48 +0200 Subject: guix package: Add '--list-profiles'. * guix/scripts/package.scm (show-help, %options): Add '--list-profiles'. (process-query): Honor it. * tests/guix-package.sh: Add test. --- doc/guix.texi | 13 +++++++++++++ guix/scripts/package.scm | 21 +++++++++++++++++++++ tests/guix-package.sh | 6 +++++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4ffffcdc81..14c4514b31 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2933,6 +2933,19 @@ siblings that point to specific generations: $ rm ~/code/my-profile ~/code/my-profile-*-link @end example +@item --list-profiles +List all the user's profiles: + +@example +$ guix package --list-profiles +/home/charlie/.guix-profile +/home/charlie/code/my-profile +/home/charlie/code/devel-profile +/home/charlie/tmp/test +@end example + +When running as root, list all the profiles of all the users. + @cindex collisions, in a profile @cindex colliding packages in profiles @cindex profile collisions diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index f03741aa9e..1a58d43e5c 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -39,6 +39,7 @@ (define-module (guix scripts package) #:use-module (guix scripts) #:use-module (guix scripts build) #:autoload (guix describe) (package-provenance) + #:autoload (guix store roots) (gc-roots) #:use-module ((guix build utils) #:select (directory-exists? mkdir-p)) #:use-module (ice-9 format) @@ -359,6 +360,8 @@ (define (show-help) switch to a generation matching PATTERN")) (display (G_ " -p, --profile=PROFILE use PROFILE instead of the user's default profile")) + (display (G_ " + --list-profiles list the user's profiles")) (newline) (display (G_ " --allow-collisions do not treat collisions in the profile as an error")) @@ -458,6 +461,11 @@ (define %options (values (cons `(query list-generations ,arg) result) #f))) + (option '("list-profiles") #f #f + (lambda (opt name arg result arg-handler) + (values (cons `(query list-profiles #t) + result) + #f))) (option '(#\d "delete-generations") #f #t (lambda (opt name arg result arg-handler) (values (alist-cons 'delete-generations arg @@ -750,6 +758,19 @@ (define (diff-profiles profile numbers) (string "$module_dir/foo.scm"< /tmp/out test "`guix package -L "$module_dir" -s dummy-output | grep ^name:`" = "name: dummy-package" rm -rf "$module_dir" + +# Make sure we can see user profiles. +guix package --list-profiles | grep "$profile" +guix package --list-profiles | grep '\.guix-profile' -- cgit v1.2.3 From 2ea4587d8373bce140f24bf2b9219cd73c378f8b Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 26 Sep 2019 15:58:48 +0200 Subject: gnu: python-libmpsse: Update to 1.4. * gnu/packages/embedded.scm (python2-libmpsse): Rename to... (python-libmpsse): ...this. [version]: Update to 1.4. [source]: Change repository and version. [inputs]: Change Python version. [arguments]: Add #parallel-build?. (python2-libmpsse): New variable. --- gnu/packages/embedded.scm | 81 ++++++++++++++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index a65998c369..106675b87b 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -874,30 +874,31 @@ (define-public gcc-vc4 (description "This package provides @code{gcc} for VideoCore IV, the Raspberry Pi chip.")))) -(define-public python2-libmpsse +(define-public python-libmpsse (package - (name "python2-libmpsse") - (version "1.3") + (name "python-libmpsse") + (version "1.4") (source (origin - (method url-fetch) - (uri (string-append "https://storage.googleapis.com/" - "google-code-archive-downloads/v2/" - "code.google.com/libmpsse/" - "libmpsse-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/daym/libmpsse.git") + (commit (string-append "v" version)))) + (file-name "libmpsse-checkout") (sha256 (base32 - "0jq7nhqq3na8675jnpfcar3pd3dp3adhhc4lw900swkla01a1wh8")))) + "14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25")))) (build-system gnu-build-system) (inputs `(("libftdi" ,libftdi) - ("python" ,python-2))) + ("python" ,python))) (native-inputs `(("pkg-config" ,pkg-config) ("swig" ,swig) ("which" ,base:which))) (arguments `(#:tests? #f ; No tests exist. + #:parallel-build? #f ; Would be buggy. #:make-flags (list (string-append "CFLAGS=-Wall -fPIC -fno-strict-aliasing -g -O2 " "$(shell pkg-config --cflags libftdi1)")) @@ -905,28 +906,20 @@ (define-public python2-libmpsse (modify-phases %standard-phases (add-after 'unpack 'set-environment-up (lambda* (#:key inputs outputs #:allow-other-keys) - (chdir "src") - (setenv "PYDEV" (string-append (assoc-ref inputs "python") - "/include/python2.7")) - #t)) - (add-after 'unpack 'patch-global-variable - (lambda _ - ;; fast_rw_buf was defined in a header file which was making - ;; the build not reproducible. - (substitute* "src/fast.c" - (("^int fast_build_block_buffer") " - -unsigned char fast_rw_buf[SPI_RW_SIZE + CMD_SIZE]; -int fast_build_block_buffer")) - (substitute* "src/mpsse.h" - (("unsigned char fast_rw_buf.*") " -")) - #t)) + (let ((python (assoc-ref inputs "python"))) + (chdir "src") + (setenv "PYDEV" (string-append python + "/include/python" + ,(version-major+minor (package-version python)) + "m")) + #t))) (replace 'install - (lambda* (#:key outputs make-flags #:allow-other-keys #:rest args) + (lambda* (#:key inputs outputs make-flags #:allow-other-keys #:rest args) (let* ((out (assoc-ref outputs "out")) (out-python (string-append out - "/lib/python2.7/site-packages")) + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages")) (install (assoc-ref %standard-phases 'install))) (install #:make-flags (cons (string-append "PYLIB=" out-python) make-flags)))))))) @@ -937,6 +930,36 @@ (define-public python2-libmpsse SPI, I2C, JTAG.") (license license:gpl2+))) +(define-public python2-libmpsse + (package + (inherit python-libmpsse) + (name "python2-libmpsse") + (arguments + (substitute-keyword-arguments (package-arguments python-libmpsse) + ((#:phases phases) + `(modify-phases ,phases + (replace 'set-environment-up + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (chdir "src") + (setenv "PYDEV" (string-append python + "/include/python" + ,(version-major+minor (package-version python-2)))) + #t))) + (replace 'install + (lambda* (#:key inputs outputs make-flags #:allow-other-keys #:rest args) + (let* ((out (assoc-ref outputs "out")) + (out-python (string-append out + "/lib/python" + ,(version-major+minor (package-version python-2)) + "/site-packages")) + (install (assoc-ref %standard-phases 'install))) + (install #:make-flags (cons (string-append "PYLIB=" out-python) + make-flags))))))))) + (inputs + (alist-replace "python" (list python-2) + (package-inputs python-libmpsse))))) + (define-public picprog (package (name "picprog") -- cgit v1.2.3 From 8581b40d097bf7c0b3016435e0985cf56a003afb Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 8 Sep 2019 12:07:09 +0200 Subject: gnu: Add python-distro. * gnu/packages/python-xyz.scm (python-distro): New variable. --- gnu/packages/python-xyz.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 69c8e63ecf..1bd218b797 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2015, 2016 Chris Marusich ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2018 Hartmut Goebel +;;; Copyright © 2016, 2018-2019 Hartmut Goebel ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016, 2017 Troy Sankey @@ -16398,3 +16398,30 @@ (define-public python-bibtexparser (synopsis "Python library to parse BibTeX files") (description "BibtexParser is a Python library to parse BibTeX files.") (license (list license:bsd-3 license:lgpl3)))) + +(define-public python-distro + (package + (name "python-distro") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "distro" version)) + (sha256 + (base32 + "0mrg75w4ap7mdzyga75yaid9n8bgb345ih5mwjp3plj6v1jxwb9n")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/nir0s/distro") + (synopsis + "OS platform information API") + (description + "@code{distro} provides information about the OS distribution it runs on, +such as a reliable machine-readable ID, or version information. + +It is the recommended replacement for Python's original +`platform.linux_distribution` function (which will be removed in Python 3.8). +@code{distro} also provides a command-line interface to output the platform +information in various formats.") + (license license:asl2.0))) -- cgit v1.2.3 From 6eb1d20b682d1256bb4561517daa616b15fec22b Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 1 Aug 2019 15:27:28 +0200 Subject: gnu: Add debops. * gnu/packages/admin.scm (debops): New variable. * gnu/packages/patches/debops-constants-for-external-program-names.patch, gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch: New files. * gnu/local.mk: Add them. --- gnu/local.mk | 2 + gnu/packages/admin.scm | 98 ++++++++ ...bops-constants-for-external-program-names.patch | 276 +++++++++++++++++++++ .../debops-debops-defaults-fall-back-to-less.patch | 45 ++++ 4 files changed, 421 insertions(+) create mode 100644 gnu/packages/patches/debops-constants-for-external-program-names.patch create mode 100644 gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch diff --git a/gnu/local.mk b/gnu/local.mk index 49dc4e7b97..a6fe439904 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -765,6 +765,8 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-CVE-2019-12749.patch \ %D%/packages/patches/dealii-mpi-deprecations.patch \ + %D%/packages/patches/debops-constants-for-external-program-names.patch \ + %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 327abe455a..6d5e4b9fcc 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2019 Björn Höfling ;;; Copyright © 2019 Jakob L. Kreuze +;;; Copyright © 2019 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dns) #:use-module (gnu packages file) @@ -112,6 +114,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages boost) #:use-module (gnu packages elf) #:use-module (gnu packages mpi) + #:use-module (gnu packages version-control) #:use-module (gnu packages web)) (define-public aide @@ -1903,6 +1906,101 @@ (define-public ansible things like zero-downtime rolling updates with load balancers.") (license license:gpl3+))) +(define-public debops + (package + (name "debops") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debops/debops") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "052b2dykdn35pdpn9s4prawl6nl6yzih8nyf54hpvhpisvjrm1v5")) + (patches + (search-patches "debops-constants-for-external-program-names.patch" + "debops-debops-defaults-fall-back-to-less.patch")))) + (build-system python-build-system) + (native-inputs + `(("git" ,git))) + (inputs + `(("ansible" ,ansible) + ("encfs" ,encfs) + ("fuse" ,fuse) + ("util-linux" ,util-linux) ;; for umount + ("findutils" ,findutils) + ("gnupg" ,gnupg) + ("which" ,which))) + (propagated-inputs + `(("python-future" ,python-future) + ("python-distro" ,python-distro))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'nuke-debops-update + (lambda _ + (chmod "bin/debops-update" #o755) ; FIXME work-around git-fetch issue + (with-output-to-file "bin/debops-update" + (lambda () + (format #t "#!/bin/sh +echo 'debops is installed via guix. guix-update is useless in this case. +Please use `guix package -u debops` instead.'"))) + #t)) + ;; patch shebangs only in actuall scripts, not in files included in + ;; roles (which are to be delivered to the targte systems) + (delete `patch-generated-file-shebangs) + (replace 'patch-source-shebangs + (lambda _ + (for-each patch-shebang + (find-files "bin" + (lambda (file stat) + ;; Filter out symlinks. + (eq? 'regular (stat:type stat))) + #:stat lstat)))) + (add-after 'unpack 'fix-paths + (lambda _ + (define (substitute-program-names file) + ;; e.g. ANSIBLE_PLAYBOOK = '/gnu/store/…/bin/ansible-playbook' + (for-each + (lambda (name) + (let ((varname (string-upcase + (string-map + (lambda (c) (if (char=? c #\-) #\_ c)) + name)))) + (substitute* file + (((string-append "^(" varname " = )'.*'") line prefix) + (string-append prefix "'" (which name) "'"))))) + '("ansible-playbook" "encfs" "find" "fusermount" + "umount" "gpg" "ansible" "which"))) + (for-each substitute-program-names + '("bin/debops" + "bin/debops-padlock" + "bin/debops-task" + "debops/__init__.py" + "debops/cmds/__init__.py")) + #t))))) + (home-page "https://www.debops.org/") + (synopsis "Collection of general-purpose Ansible roles") + (description "The Ansible roles provided by that can be used to manage +Debian or Ubuntu hosts. In addition, a default set of Ansible playbooks can +be used to apply the provided roles in a controlled way, using Ansible +inventory groups. + +The roles are written with a high customization in mind, which can be done +using Ansible inventory. This way the role and playbook code can be shared +between multiple environments, with different configuration in to each one. + +Services can be managed on a single host, or spread between multiple hosts. +DebOps provides support for different SQL and NoSQL databases, web servers, +programming languages and specialized applications useful in a data center +environment or in a cluster. The project can also be used to deploy +virtualization environments using KVM/libvirt, Docker or LXC technologies to +manage virtual machines and/or containers.") + (license license:gpl3+))) + (define-public emacs-ansible-doc (let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0")) (package diff --git a/gnu/packages/patches/debops-constants-for-external-program-names.patch b/gnu/packages/patches/debops-constants-for-external-program-names.patch new file mode 100644 index 0000000000..b3b34ed323 --- /dev/null +++ b/gnu/packages/patches/debops-constants-for-external-program-names.patch @@ -0,0 +1,276 @@ +From 78d5cddafebb28e2e54efeb781495b5607ddb356 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Thu, 8 Aug 2019 15:19:48 +0200 +Subject: [PATCH] Scripts: Use constants for external program names. + +This makes it much, much easier to replace the program +with one using an absolute path. This is necessary for +e.g. Guix to keep references to these external programs. +--- + bin/debops | 10 +++++++--- + bin/debops-padlock | 21 +++++++++++++++------ + bin/debops-task | 7 +++++-- + bin/debops-update | 18 +++++++++++------- + debops/__init__.py | 17 ++++++++++++----- + debops/cmds/__init__.py | 6 +++++- + 6 files changed, 55 insertions(+), 24 deletions(-) + +diff --git a/bin/debops b/bin/debops +index 2b7ad3f88..caaeb892f 100755 +--- a/bin/debops ++++ b/bin/debops +@@ -59,6 +59,10 @@ ConfigFileHeader = """\ + # You can manipulate the contents of this file via `.debops.cfg`. + """ + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++ANSIBLE_PLAYBOOK = 'ansible-playbook' ++ + + def write_config(filename, config): + cfgparser = configparser.ConfigParser() +@@ -131,7 +135,7 @@ def gen_ansible_cfg(filename, config, project_root, playbooks_path, + os.path.join(playbooks_path, "roles"), + "/etc/ansible/roles"))) + +- ansible_version_out = subprocess.check_output(["ansible-playbook", ++ ansible_version_out = subprocess.check_output([ANSIBLE_PLAYBOOK, + "--version"]).decode() + + # Get first line and split by spaces to get second 'word'. +@@ -197,7 +201,7 @@ def main(cmd_args): + playbooks_path = '/nonexistent' + + # Make sure required commands are present +- require_commands('ansible-playbook') ++ require_commands(ANSIBLE_PLAYBOOK) + + # Check if user specified a potential playbook name as the first + # argument. If yes, use it as the playbook name and remove it from +@@ -256,7 +260,7 @@ def main(cmd_args): + print("Running Ansible playbooks:") + for element in play_list: + print(element) +- return subprocess.call(['ansible-playbook'] + play_list + arg_list) ++ return subprocess.call([ANSIBLE_PLAYBOOK] + play_list + arg_list) + finally: + if revert_unlock: + padlock_lock(encfs_encrypted) +diff --git a/bin/debops-padlock b/bin/debops-padlock +index bfdfb8e06..2a97716cd 100755 +--- a/bin/debops-padlock ++++ b/bin/debops-padlock +@@ -67,6 +67,14 @@ devrandom = os.environ.get('DEVRANDOM', "/dev/urandom") + + SCRIPT_FILENAME = 'padlock-script' + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++ENCFS = 'encfs' ++FIND = 'find' ++FUSERMOUNT = 'fusermount' ++UMOUNT = 'umount' ++GPG = 'gpg' ++ + # ---- DebOps environment setup ---- + + +@@ -80,9 +88,9 @@ def main(subcommand_func, **kwargs): + # Make sure required commands are present + # OS X compatibility + if sys.platform == 'darwin': +- require_commands('encfs', 'find', 'umount', 'gpg') ++ require_commands(ENCFS, FIND, UMOUNT, GPG) + else: +- require_commands('encfs', 'find', 'fusermount', 'gpg') ++ require_commands(ENCFS, FIND, FUSERMOUNT, GPG) + + inventory_path = find_inventorypath(project_root, required=False) + # If inventory hasn't been found automatically, assume it's the default +@@ -121,7 +129,7 @@ def init(encfs_decrypted, encfs_encrypted, recipients): + # Generate a random password and encrypt it with GPG keys of recipients. + print("Generating a random", ENCFS_KEYFILE_LENGTH, "char password") + pwd = gen_pwd() +- gpg = subprocess.Popen(['gpg', '--encrypt', '--armor', ++ gpg = subprocess.Popen([GPG, '--encrypt', '--armor', + '--output', encfs_keyfile] + recipients, + stdin=subprocess.PIPE) + gpg.communicate(pwd.encode('utf-8')) +@@ -133,9 +141,10 @@ def init(encfs_decrypted, encfs_encrypted, recipients): + # NB2: We can not use padlock_unlock here, because the config file + # does not yet exist. + encfs = subprocess.Popen([ +- 'encfs', encfs_encrypted, encfs_decrypted, ++ ENCFS, encfs_encrypted, encfs_decrypted, + '--extpass', +- 'gpg --decrypt --no-mdc-warning --output - '+shquote(encfs_keyfile)], ++ GPG + ' --decrypt --no-mdc-warning --output - ' ++ + shquote(encfs_keyfile)], + stdin=subprocess.PIPE) + encfs.communicate(('p\n'+pwd).encode('utf-8')) + +@@ -154,7 +163,7 @@ def init(encfs_decrypted, encfs_encrypted, recipients): + + # Protect the EncFS configuration file by also encrypting it with + # the GPG keys of recipients. +- subprocess.call(['gpg', '--encrypt', '--armor', ++ subprocess.call([GPG, '--encrypt', '--armor', + '--output', encfs_configfile+'.asc'] + + recipients + [encfs_configfile]) + os.remove(encfs_configfile) +diff --git a/bin/debops-task b/bin/debops-task +index 223e5f834..dc31ad4e6 100755 +--- a/bin/debops-task ++++ b/bin/debops-task +@@ -49,11 +49,14 @@ project_root = find_debops_project(required=True) + # todo: need to decide on semantics! + # config = read_config(project_root) + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++ANSIBLE = 'ansible' + + # ---- Main script ---- + + # Make sure required commands are present +-require_commands('ansible') ++require_commands(ANSIBLE) + + ansible_inventory = find_inventorypath(project_root) + +@@ -71,5 +74,5 @@ if INSECURE: + os.environ['ANSIBLE_HOST_KEY_CHECKING'] = 'False' + + # Run ansible with custom environment +-cmd = ['ansible'] + module + sys.argv[1:] ++cmd = [ANSIBLE] + module + sys.argv[1:] + subprocess.call(cmd) +diff --git a/bin/debops-update b/bin/debops-update +index 88c5e2c82..cc7e57cb0 100755 +--- a/bin/debops-update ++++ b/bin/debops-update +@@ -90,6 +90,10 @@ GALAXY_REQUIREMENTS = "galaxy/requirements.txt" + # Default Ansible Galaxy user account name + GALAXY_ACCOUNT = "debops" + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++GIT = 'git' ++ + + # ---- Functions ---- + +@@ -137,7 +141,7 @@ def clone_git_repository(repo_uri, branch, destination, dry_run=False): + if dry_run: + print("Cloning '%s' to %s..." % (repo_uri, destination)) + else: +- subprocess.call(['git', 'clone', '--quiet', '--branch', branch, ++ subprocess.call([GIT, 'clone', '--quiet', '--branch', branch, + repo_uri, destination]) + + +@@ -152,22 +156,22 @@ def update_git_repository(path, dry_run=False, remote_uri=False): + os.chdir(path) + + if dry_run: +- subprocess.call(['git', 'fetch']) +- subprocess.call(['git', 'diff', 'HEAD', 'origin', '--stat']) ++ subprocess.call([GIT, 'fetch']) ++ subprocess.call([GIT, 'diff', 'HEAD', 'origin', '--stat']) + else: + # Get the current sha of the head branch + current_sha = subprocess.check_output( +- ['git', 'rev-parse', 'HEAD']).strip() ++ [GIT, 'rev-parse', 'HEAD']).strip() + + # Fetch it silently and store the new sha +- subprocess.call(['git', 'fetch', '--quiet']) ++ subprocess.call([GIT, 'fetch', '--quiet']) + fetch_sha = subprocess.check_output( +- ['git', 'rev-parse', 'FETCH_HEAD']).strip() ++ [GIT, 'rev-parse', 'FETCH_HEAD']).strip() + + if current_sha != fetch_sha: + print() + print('--') +- subprocess.call(['git', 'merge', fetch_sha]) ++ subprocess.call([GIT, 'merge', fetch_sha]) + + if remote_uri: + compare_uri = (remote_uri + '/compare/' + current_sha[:7] +diff --git a/debops/__init__.py b/debops/__init__.py +index 1c2cedcb0..da8430e41 100644 +--- a/debops/__init__.py ++++ b/debops/__init__.py +@@ -93,6 +93,13 @@ ENCFS_KEYFILE = ".encfs6.keyfile" + # Length of the random EncFS password stored in encrypted keyfile + ENCFS_KEYFILE_LENGTH = 256 + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++ENCFS = 'encfs' ++FUSERMOUNT = 'fusermount' ++UMOUNT = 'umount' ++GPG = 'gpg' ++ + + # ---- Functions ---- + +@@ -180,9 +187,9 @@ def padlock_lock(encrypted_path): + return False + # OS X compatibility + if sys.platform == 'darwin': +- subprocess.call(['umount', decrypted_path]) ++ subprocess.call([UMOUNT, decrypted_path]) + else: +- subprocess.call(['fusermount', '-u', decrypted_path]) ++ subprocess.call([FUSERMOUNT, '-u', decrypted_path]) + return True + + +@@ -237,14 +244,14 @@ def padlock_unlock(encrypted_path): + # Start encfs. It will wait for input on the `configfile` named + # pipe. + encfs = subprocess.Popen([ +- 'encfs', encrypted_path, decrypted_path, ++ ENCFS, encrypted_path, decrypted_path, + '--extpass', +- 'gpg --decrypt --no-mdc-warning --output - %s' % shquote(keyfile)]) ++ GPG + ' --decrypt --no-mdc-warning --output - %s' % shquote(keyfile)]) + # now decrypt the config and write it into the named pipe + with open(configfile, 'w') as fh: + # NB: gpg must write to stdout to avoid it is asking whether + # the file should be overwritten +- subprocess.Popen(['gpg', ++ subprocess.Popen([GPG, + '--decrypt', '--no-mdc-warning', '--output', '-', + crypted_configfile], stdout=fh).wait() + encfs.wait() +diff --git a/debops/cmds/__init__.py b/debops/cmds/__init__.py +index b221fa191..9fabf43a5 100644 +--- a/debops/cmds/__init__.py ++++ b/debops/cmds/__init__.py +@@ -55,6 +55,10 @@ SCRIPT_NAME = os.path.basename(sys.argv[0]) + # command line) + INSECURE = bool(os.environ.get('INSECURE', False)) + ++# External programms used. List here for easy substitution for ++# hard-coded paths. ++WHICH = 'which' ++ + + def error_msg(message, severity="Error"): + """ +@@ -70,7 +74,7 @@ def require_commands(*cmd_names): + Check if required commands exist. + """ + def command_exists(cmd_name): +- which = "where" if platform.system() == "Windows" else "which" ++ which = "where" if platform.system() == "Windows" else WHICH + return not subprocess.call([which, cmd_name], + stdout=DEVNULL, stderr=subprocess.STDOUT) + +-- +2.21.0 + diff --git a/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch b/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch new file mode 100644 index 0000000000..bbb6b7c08e --- /dev/null +++ b/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch @@ -0,0 +1,45 @@ +From 5059daf8bd59a83f520c14731173ea76ce8b8661 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Sun, 8 Sep 2019 13:09:15 +0200 +Subject: [PATCH] [debops-defaults] If `view` is not available, try less, etc. + +--- + bin/debops-defaults | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/bin/debops-defaults b/bin/debops-defaults +index 9dd87fe0a..3e3db4c41 100755 +--- a/bin/debops-defaults ++++ b/bin/debops-defaults +@@ -96,13 +96,22 @@ def main(role_list): + config = read_config(project_root) + playbooks_path = find_playbookpath(config, project_root, required=True) + +- # Make sure required commands are present +- require_commands('view') +- +- if sys.stdout.isatty(): ++ # Check if one of the output commands is present ++ sys.stdout = io.BytesIO() # suppress error message, if any ++ for cmd_args in (('view', '+set ft=yaml', '-'), ++ ('less', '-'), ++ ('more', '-')): ++ try: ++ require_commands(cmd_args[0]) ++ break ++ except SystemExit: ++ # this command was not found ++ cmd_args = None ++ sys.stdout = sys.__stdout__ ++ ++ if cmd_args and sys.stdout.isatty(): + # if script is run as standalone, redirect to view +- view = subprocess.Popen(['view', '+set ft=yaml', '-'], +- stdin=subprocess.PIPE) ++ view = subprocess.Popen(cmd_args, stdin=subprocess.PIPE) + try: + aggregate_defaults(playbooks_path, role_list, view.stdin) + except IOError as e: +-- +2.21.0 + -- cgit v1.2.3 From dec845606d2d184da31065fa26cd951b84b3ce2d Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 8 Aug 2019 16:43:15 +0200 Subject: guix download: Ensure destination file-name is valid in the store. Avoid invalid store-file-name by explicitly passing the destination name, replacing any character not allowed in the store-file-name by an underscore. Fixes * guix/scripts/download.scm (safe-naensure-valid-store-file-nameme): New function. (download-to-store*): Use it to generate a "safe" basename of URL. --- guix/scripts/download.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index d8fe71ce12..22cd75ea0b 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -33,6 +33,7 @@ (define-module (guix scripts download) #:use-module (web uri) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-14) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:use-module (rnrs bytevectors) @@ -54,9 +55,23 @@ (define (download-to-file url file) (url-fetch url file #:mirrors %mirrors))) file)) +(define (ensure-valid-store-file-name name) + "Replace any character not allowed in a stror name by an underscore." + + (define valid + ;; according to nix/libstore/store-api.cc + (string->char-set (string-append "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" "+-._?="))) + (string-map (lambda (c) + (if (char-set-contains? valid c) c #\_)) + name)) + + (define* (download-to-store* url #:key (verify-certificate? #t)) (with-store store (download-to-store store url + (ensure-valid-store-file-name (basename url)) #:verify-certificate? verify-certificate?))) (define %default-options -- cgit v1.2.3 From 0d3a4fc867100651af8b27cdf66b1bca1c8ba663 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Sep 2019 17:06:33 +0200 Subject: shepherd: 'make-forkexec-constructor/container' keeps the log file. * gnu/build/shepherd.scm (make-forkexec-constructor/container): Don't call 'clean-up' on LOG-FILE. This mirrors Shepherd commit 6892f638c78a14fedd075f664432757bc015c140. --- gnu/build/shepherd.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index b32765ed5e..461feb06ef 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm @@ -157,7 +157,6 @@ (define mounts (lambda () (mkdir-p "/var/run") (clean-up pid-file) - (clean-up log-file) (exec-command command #:user user -- cgit v1.2.3 From 464caf72f9ff7600bd49e2df07e19cd9af28a930 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Sep 2019 17:07:55 +0200 Subject: shepherd: Ensure the log file has correct ownership. * gnu/build/shepherd.scm (make-forkexec-constructor/container): Ensure LOG-FILE has correct ownership. --- gnu/build/shepherd.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index 461feb06ef..14bdf4edb8 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm @@ -150,7 +150,10 @@ (define mounts (when log-file ;; Create LOG-FILE so we can map it in the container. (unless (file-exists? log-file) - (call-with-output-file log-file (const #t)))) + (call-with-output-file log-file (const #t)) + (when user + (let ((pw (getpwnam user))) + (chown log-file (passwd:uid pw) (passwd:gid pw)))))) (let ((pid (run-container container-directory mounts namespaces 1 -- cgit v1.2.3 From 8727e0304b68cd22e827331bb40ea269f243c6ab Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Sep 2019 18:49:25 +0200 Subject: self: Mark trivial "-modules" derivations as non-substitutable. The resulting nar takes ~500KiB and it's quicker to build it locally than to download it. * guix/self.scm (node-source+compiled): Pass #:options to 'computed-file'. --- guix/self.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guix/self.scm b/guix/self.scm index f03fe01d0c..142c834137 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -124,7 +124,11 @@ (define object (symlink #$(node-compiled node) object)))) (computed-file (string-append (node-name node) "-modules") - build)) + build + #:options '(#:local-build? #t + + ;; "Building" it locally is faster. + #:substitutable? #f))) (define (node-fold proc init nodes) (let loop ((nodes nodes) -- cgit v1.2.3 From 7647c0dec993159432534d0e3815367a5e8e3b76 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Sep 2019 21:58:47 +0200 Subject: gnu: tbb: Build in a reproducible fashion. Fixes . * gnu/packages/tbb.scm (tbb)[source](snippets): Annihilate attempts to capture the build time and kernel version. --- gnu/packages/tbb.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index 5e427ffe63..f6d7e9b8b4 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -44,6 +44,17 @@ (define-public tbb (substitute* "build/common.inc" (("export tbb_build_prefix.+$") "export tbb_build_prefix?=guix\n")) + + ;; Don't capture the build time and kernel version. + (substitute* "build/version_info_linux.sh" + (("uname -srv") "uname -s") + (("`date -u`") "01 Jan 1970")) + + (substitute* "build/linux.inc" + (("os_kernel_version:=.*") + "os_kernel_version:=5\n") + (("os_version:=.*") + "os_version:=1\n")) #t)))) (outputs '("out" "doc")) (build-system gnu-build-system) -- cgit v1.2.3 From 99fcefb94c19c25dfa77f28fc8569da6d3aca64f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Sep 2019 22:34:35 +0200 Subject: gnu: texinfo: Add version 6.7. * gnu/packages/texinfo.scm (texinfo-6.7): New variable. --- gnu/packages/texinfo.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index fa98bd56b8..cbb0c317dd 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2019 Ludovic Courtès ;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner @@ -62,6 +62,18 @@ (define-public texinfo is on expressing the content semantically, avoiding physical markup commands.") (license gpl3+))) +(define-public texinfo-6.7 + (package + (inherit texinfo) + (version "6.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/texinfo/texinfo-" + version ".tar.xz")) + (sha256 + (base32 + "1aicn1v3czqii08wc91jw089n1x3gfchkf808q2as59dak0h714q")))))) + (define-public texinfo-5 (package (inherit texinfo) (version "5.2") -- cgit v1.2.3 From d31a532417a3e92e6d1acde238ff8859c1f970b5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 6 Sep 2019 01:10:10 +0200 Subject: gnu: Add emacs-flycheck-grammalecte. * gnu/packages/emacs-xyz.scm (emacs-flycheck-grammalecte): New variable. --- gnu/packages/emacs-xyz.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bea8463cd2..7e1e9bfefc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -89,6 +89,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages cmake) #:use-module (gnu packages code) #:use-module (gnu packages databases) + #:use-module (gnu packages dictionaries) #:use-module (gnu packages emacs) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) @@ -3092,6 +3093,60 @@ (define-public emacs-flycheck-flow for Flow files.") (license license:gpl3+)))) +(define-public emacs-flycheck-grammalecte + (package + (name "emacs-flycheck-grammalecte") + (version "0.9") + (source (origin + (method url-fetch) + (uri (string-append "https://git.deparis.io/" + "flycheck-grammalecte/snapshot/" + "flycheck-grammalecte-" version ".tar.xz")) + (sha256 + (base32 + "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb")))) + (build-system emacs-build-system) + (arguments + `(#:include '("\\.(el|py)$") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-python + ;; Hardcode python3 executable in the Emacs library. + (lambda* (#:key inputs #:allow-other-keys) + (let ((python3 (string-append (assoc-ref inputs "python") + "/bin/python3"))) + (substitute* "flycheck-grammalecte.el" + (("python3") python3)) + #t))) + (add-after 'install 'link-to-grammalecte + ;; The package expects grammalecte to be in a sub-directory. + ;; Symlink it there from the store. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((grammalecte (assoc-ref inputs "grammalecte")) + (out (assoc-ref outputs "out")) + (version ,(version-major+minor (package-version python)))) + (with-directory-excursion + (string-append out + "/share/emacs/site-lisp/guix.d/" + "flycheck-grammalecte-" ,version) + (symlink (string-append grammalecte "/lib/" + "python" version "/site-packages/" + "grammalecte") + "grammalecte")) + #t)))))) + (inputs + `(("grammalecte" ,grammalecte) + ("python" ,python))) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck))) + (home-page "https://git.deparis.io/flycheck-grammalecte/") + (synopsis "Integrate Grammalecte with Flycheck") + (description "Integrate the French grammar and typography checker +Grammalecte with Flycheck to automatically look for mistakes in your writings. +It also provides an easy way to find synonyms and antonyms for a given +word (to avoid repetitions for example).") + (license license:gpl3+))) + (define-public emacs-elisp-demos (package (name "emacs-elisp-demos") -- cgit v1.2.3 From 9a0f6a3c939a1b6c22798155045b7532b57e9604 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 26 Sep 2019 23:31:09 +0200 Subject: gnu: emacs-evil-magit: Update to 0.4.2-3.4b66a1d. * gnu/packages/emacs-xyz.scm (emacs-evil-magit): Update to 0.4.2-3.4b66a1d. --- gnu/packages/emacs-xyz.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7e1e9bfefc..db5e61dd75 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14185,10 +14185,11 @@ (define-public emacs-evil-ediff (deprecated-package "emacs-evil-ediff" emacs-evil-collection)) (define-public emacs-evil-magit - (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba")) + (let ((commit "4b66a1db8285457147a5436f209391016a819ea1") + (revision "3")) (package (name "emacs-evil-magit") - (version (git-version "0.4.2" "2" commit)) + (version (git-version "0.4.2" revision commit)) (source (origin (method git-fetch) @@ -14198,11 +14199,17 @@ (define-public emacs-evil-magit (file-name (git-file-name name version)) (sha256 (base32 - "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v")))) + "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) ("magit" ,emacs-magit))) + (arguments + `(#:tests? #t + #:test-command '("emacs" "-Q" "-batch" + "-L" "." + "-l" "evil-magit-tests" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/emacs-evil/evil-magit") (synopsis "Evil-based key bindings for Magit") -- cgit v1.2.3 From 352b1dcd6bff4bc0a8f4ed354a94ddde41f2600f Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 27 Sep 2019 03:33:29 +0200 Subject: gnu: emacs-counsel-dash: Fix home page. * gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Fix home page. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index db5e61dd75..e94c05b354 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17661,7 +17661,7 @@ (define-public emacs-counsel-dash (origin (method git-fetch) (uri (git-reference - (url "https://github.com/nathankot/counsel-dash") + (url "https://github.com/dash-docs-el/counsel-dash.git") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -17671,7 +17671,7 @@ (define-public emacs-counsel-dash (propagated-inputs `(("emacs-dash-docs" ,emacs-dash-docs) ("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/nathankot/counsel-dash") + (home-page "https://github.com/dash-docs-el/counsel-dash") (synopsis "Offline documentation browser for APIs using Dash docsets") (description "This package uses @code{ivy-mode} to install and navigate through Dash docsets.") -- cgit v1.2.3 From 49175a9baba624eb0a48a77d8cfde2a1b4b61514 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 27 Sep 2019 05:53:06 +0200 Subject: gnu: emacs-org-re-reveal: Update to 2.5.1. * gnu/packages/emacs-xyz.scm (emacs-org-re-reveal): Update to 2.5.1. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e94c05b354..3b83ba8301 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12743,16 +12743,16 @@ (define-public emacs-org-reveal (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "1.0.3") + (version "2.5.1") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/oer/org-re-reveal.git") - (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc"))) + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8")))) + "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-htmlize" ,emacs-htmlize) -- cgit v1.2.3 From 18cd5f69dd563289c76d4497687da681d5aaa204 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 27 Sep 2019 05:59:32 +0200 Subject: gnu: emacs-company-quickhelp: Update to 2.2.0-1.479676c. * gnu/packages/emacs-xyz.scm (emacs-company-quickhelp): Update to 2.2.0-1.479676c. --- gnu/packages/emacs-xyz.scm | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3b83ba8301..e8ae6d93dc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3552,27 +3552,31 @@ (define-public emacs-irony-eldoc (license license:gpl3+))) (define-public emacs-company-quickhelp - (package - (name "emacs-company-quickhelp") - (version "2.3.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/expez/company-quickhelp.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-pos-tip" ,emacs-pos-tip) - ("emacs-company" ,emacs-company))) - (home-page "https://github.com/expez/company-quickhelp") - (synopsis "Popup documentation for completion candidates") - (description "@code{company-quickhelp} shows documentation for the + ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason, + ;; so we use the latest 2.2.0 commit instead + (let ((commit "479676cade80a9f03802ca3d956591820ed5c537") + (revision "1")) + (package + (name "emacs-company-quickhelp") + (version (git-version "2.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/expez/company-quickhelp.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-pos-tip" ,emacs-pos-tip) + ("emacs-company" ,emacs-company))) + (home-page "https://github.com/expez/company-quickhelp") + (synopsis "Popup documentation for completion candidates") + (description "@code{company-quickhelp} shows documentation for the completion candidate when using the Company text completion framework.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-math-symbol-lists (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb") -- cgit v1.2.3 From 8ff5c7355f4888927575e42c177b527218dd2567 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 19 Sep 2019 12:35:18 +0200 Subject: gnu: Add makeself-safeextract. * gnu/packages/compression.scm (makeself-safeextract): New variable. --- gnu/packages/compression.scm | 50 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index bda43bfd18..6771de3028 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2019 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. @@ -48,6 +48,7 @@ (define-module (gnu packages compression) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) @@ -2000,3 +2001,50 @@ (define-public zutils at run time, and must be installed separately.") (license (list license:bsd-2 ; arg_parser.{cc,h} license:gpl2+)))) ; the rest + +(define-public makeself-safeextract + (let ((commit "1a95e121fa8e3c02d307ae37b9b7834e616c3683")) + (package + (name "makeself-safeextract") + (version (git-version "0.0.0" "1" commit)) + (home-page "https://github.com/ssokolow/makeself_safeextract") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1anlinaj9lvfi8bn00wp11vzqq0f9sig4fm9yrspisx31v0z4a2c")))) + (build-system trivial-build-system) + (inputs + `(("python" ,python-2) + ("p7zip" ,p7zip) + ("unzip" ,unzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((name "makeself_safeextract") + (source (string-append (assoc-ref %build-inputs "source") + "/" name ".py")) + (bin (string-append (assoc-ref %outputs "out") "/bin")) + (target (string-append bin "/" name)) + (python (string-append (assoc-ref %build-inputs "python") "/bin")) + (7z (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")) + (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (setenv "PATH" (string-append (getenv "PATH") ":" python)) + (mkdir-p bin) + (copy-file source target) + (substitute* target + (("'7z'") (format #f "'~a'" 7z)) + (("'unzip'") (format #f "'~a'" unzip))) + (patch-shebang target))))) + (synopsis "Extract makeself and mojo archives without running untrusted code") + (description "This package provides a script to unpack self-extracting +archives generated by @command{makeself} or @command{mojo} without running the +possibly untrusted extraction shell script.") + (license license:gpl3+)))) -- cgit v1.2.3 From 966873e3e7238e70ebb589066e6461763314d006 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Sep 2019 10:22:27 +0200 Subject: gnu: Order (gnu packages license)'s imports alphabetically. * gnu/packages/license.scm: Order module imports alphabetically. --- gnu/packages/license.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 4003c18aca..82dbd2dba1 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -18,13 +18,13 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages license) - #:use-module (guix licenses) #:use-module (gnu packages) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system perl) #:use-module (gnu packages perl) - #:use-module (gnu packages perl-check)) + #:use-module (gnu packages perl-check) + #:use-module (guix build-system perl) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix packages)) ;;; ;;; Please: Try to add new module packages in alphabetic order. -- cgit v1.2.3 From 29bdabb6fdcab38ddcae8098117d5babb2c01ac3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Sep 2019 12:24:06 +0200 Subject: gnu: xygrib: Update to 1.2.6.1. * gnu/packages/geo.scm (xygrib): Update to 1.2.6.1. --- gnu/packages/geo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index edb3b49841..5e1f7e39d7 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -936,7 +936,7 @@ (define-public osm-gps-map (define-public xygrib (package (name "xygrib") - (version "1.2.6") + (version "1.2.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -945,7 +945,7 @@ (define-public xygrib (file-name (git-file-name name version)) (sha256 (base32 - "0qzaaavil2c7mkkai5mg54cv8r452i7psy7cg75qjja96d2d7rbd")) + "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "data/fonts") #t)))) -- cgit v1.2.3 From e6010e892091f9f0cc52fb94b57d8458d4dacd3a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Sep 2019 12:24:20 +0200 Subject: gnu: wabt: Update to 1.0.12. * gnu/packages/web.scm (wabt): Update to 1.0.12. --- 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 01c7288caa..0084db51fc 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -866,7 +866,7 @@ (define-public libwebsockets (define-public wabt (package (name "wabt") - (version "1.0.11") + (version "1.0.12") (source (origin (method git-fetch) @@ -875,7 +875,7 @@ (define-public wabt (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0hn88vlqyclpk79v3wg3lrssd9vwhjdgvb41g03jqakygxxgnmp5")))) + (base32 "1zlv3740wkqj4mn6sr84h0x6wk2lcp4pwwmqsh5yyqp1j1glbsa0")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTS=OFF") -- cgit v1.2.3 From 36cc160e721a764c16f53c6f7fbd9d09c581717e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Sep 2019 12:27:07 +0200 Subject: gnu: xbacklight: Update to 1.2.3. * gnu/packages/xorg.scm (xbacklight): Update to 1.2.3. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7f3f2dd5ec..e4050a1425 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2016,7 +2016,7 @@ (define-public xauth (define-public xbacklight (package (name "xbacklight") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) @@ -2026,7 +2026,7 @@ (define-public xbacklight ".tar.bz2")) (sha256 (base32 - "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1")))) + "1plssg0s3pbslg6rfzxp9sx8ryvn8l32zyvc8zp9zsbsfwjg69rs")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb) -- cgit v1.2.3 From b037ea963fae0c38f097e857aa5407b1d9f2782d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:38:20 +0200 Subject: gnu: Add libwpe. * gnu/packages/webkit.scm (libwpe): New public variable. --- gnu/packages/webkit.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 2eca5147fe..e4e7c068e7 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,8 +55,38 @@ (define-module (gnu packages webkit) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) +(define-public libwpe + (package + (name "libwpe") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://wpewebkit.org/releases/libwpe-" + version ".tar.xz")) + (sha256 + (base32 + "1221vs72zs87anrzhbm6pf8jnii7s6ms7mkzj6nlds9zqd7lklz2")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("mesa" ,mesa))) + (propagated-inputs + `(;; In Requires of wpe-1.0.pc. + ("libxkbcommon" ,libxkbcommon))) + (home-page "https://wpewebkit.org/") + (synopsis "Platform agnostic WebKit interfaces") + (description + "@code{libwpe} is a small library that defines programming interfaces +for use by WebKit, and provides a mechanism for loading a platform-specific +backend which implements them.") + (license license:bsd-2))) + (define-public webkitgtk (package (name "webkitgtk") -- cgit v1.2.3 From 7970127ff0817336a6de03041aea83fc0bdc9980 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:39:31 +0200 Subject: gnu: Add wpebackend-fdo. * gnu/packages/webkit.scm (wpebackend-fdo): New public variable. --- gnu/packages/webkit.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e4e7c068e7..1eb8ae699d 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -35,6 +35,7 @@ (define-module (gnu packages webkit) #:use-module (gnu packages docbook) #:use-module (gnu packages enchant) #:use-module (gnu packages flex) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -87,6 +88,34 @@ (define-public libwpe backend which implements them.") (license license:bsd-2))) +(define-public wpebackend-fdo + (package + (name "wpebackend-fdo") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://wpewebkit.org/releases/" + "wpebackend-fdo-" version ".tar.xz")) + (sha256 + (base32 + "1bwbs47v4nlzhsqrw9fpyny5m3n9ry0kfzsvk90zjif4bd5cl6d9")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libwpe" ,libwpe) + ("mesa" ,mesa) + ("wayland" ,wayland))) + (home-page "https://wpewebkit.org/") + (synopsis "Wayland WPE backend") + (description + "This package provides a backend implementation for the WPE WebKit +engine that uses Wayland for graphics output.") + (license license:bsd-2))) + (define-public webkitgtk (package (name "webkitgtk") -- cgit v1.2.3 From 9e0cb9d79d501f36740dade2c9a5d80f955ac2bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:40:11 +0200 Subject: gnu: Add xdg-dbus-proxy. * gnu/packages/glib.scm (xdg-dbus-proxy): New public variable. --- gnu/packages/glib.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 77b5715eb0..a02cf3b7f3 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019 Giacomo Leidi +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ (define-module (gnu packages glib) #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages docbook) #:use-module (gnu packages enlightenment) #:use-module (gnu packages file) #:use-module (gnu packages flex) @@ -929,3 +931,37 @@ (define-public template-glib Template-GLib allows you to access properties on GObjects as well as call simple methods via GObject-Introspection.") (license license:lgpl2.1+))) + +(define-public xdg-dbus-proxy + (package + (name "xdg-dbus-proxy") + (version "0.1.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/flatpak/xdg-dbus-proxy" + "/releases/download/" version + "/xdg-dbus-proxy-" version ".tar.xz")) + (sha256 + (base32 + "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; For tests. + ("dbus" ,dbus) + + ;; These are required to build the manual. + ("docbook-xml" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2) + ("xsltproc" ,libxslt))) + (inputs + `(("glib" ,glib))) + (home-page "https://github.com/flatpak/xdg-dbus-proxy") + (synopsis "D-Bus connection proxy") + (description + "xdg-dbus-proxy is a filtering proxy for D-Bus connections. It can be +used to create D-Bus sockets inside a Linux container that forwards requests +to the host system, optionally with filters applied.") + (license license:lgpl2.1+))) -- cgit v1.2.3 From 689b44bc3fe50de86c8c8b8c2ac503b2e82d7975 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:40:45 +0200 Subject: gnu: WebKitGTK: Update to 2.26.1. * gnu/packages/webkit.scm (webkitgtk-2.24): Rename to ... (webkitgtk-2.26): ... this. Update to 2.26.1. [inputs]: Add BUBBLEWRAP, LIBSECCOMP, LIBWPE, WPEBACKEND-FDO, and XDG-DBUS-PROXY. * gnu/packages/gnome.scm (eolie, epiphany)[inputs]: Adjust for changed variable name. * gnu/packages/web-browsers.scm (next-gtk-webkit)[inputs]: Likewise. --- gnu/packages/gnome.scm | 4 ++-- gnu/packages/web-browsers.scm | 2 +- gnu/packages/webkit.scm | 15 +++++++++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 34a0c43b50..baebeec1c6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4386,7 +4386,7 @@ (define-public eolie ("libsecret" ,libsecret) ("gtkspell3" ,gtkspell3) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("webkitgtk" ,webkitgtk-2.24))) + ("webkitgtk" ,webkitgtk-2.26))) (home-page "https://wiki.gnome.org/Apps/Eolie") (synopsis "Web browser for GNOME") (description @@ -4445,7 +4445,7 @@ (define-public epiphany ("libxslt" ,libxslt) ("nettle" ,nettle) ; for hogweed ("sqlite" ,sqlite) - ("webkitgtk" ,webkitgtk-2.24))) + ("webkitgtk" ,webkitgtk-2.26))) (home-page "https://wiki.gnome.org/Apps/Web") (synopsis "GNOME web browser") (description diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index dd19b5fc6b..46b5ea7327 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -398,7 +398,7 @@ (define next-gtk-webkit (inputs `(("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("webkitgtk" ,webkitgtk-2.24))) + ("webkitgtk" ,webkitgtk-2.26))) (native-inputs `(("gcc-7" ,gcc-7) ; needed because webkitgtk-2.24 and above are compiled with gcc-7 ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 1eb8ae699d..4864495adf 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -48,6 +48,7 @@ (define-module (gnu packages webkit) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -55,6 +56,7 @@ (define-module (gnu packages webkit) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages virtualization) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) @@ -225,22 +227,27 @@ (define-public webkitgtk ;; newer version of GCC than our default compiler, and this causes problems ;; when linked with C++ libraries built using our default compiler. For now, ;; we use this newer webkitgtk only for selected packages, e.g. epiphany. -(define-public webkitgtk-2.24 +(define-public webkitgtk-2.26 (package/inherit webkitgtk (name "webkitgtk") - (version "2.24.4") + (version "2.26.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "1n3x5g1z6rg9n1ssna7wi0z6zlprjm4wzk544v14wqi6q0lv2s46")))) + "0mfikjfjhwcnrxbzdyh3fl9bbs2azgbdnx8h5910h41b3n022jvb")))) (native-inputs `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer ,@(package-native-inputs webkitgtk))) (inputs - `(("openjpeg" ,openjpeg) + `(("bubblewrap" ,bubblewrap) + ("libseccomp" ,libseccomp) + ("libwpe" ,libwpe) + ("openjpeg" ,openjpeg) + ("wpebackend-fdo" ,wpebackend-fdo) + ("xdg-dbus-proxy" ,xdg-dbus-proxy) ,@(package-inputs webkitgtk))) (arguments (substitute-keyword-arguments (package-arguments webkitgtk) -- cgit v1.2.3 From add8063742f08529a64bfbf11e1451a6be392fa3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:42:27 +0200 Subject: gnu: mbedtls-apache: Update to 2.16.3. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.16.3. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 74d16f7586..93c79d63e4 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -835,7 +835,7 @@ (define-public acme-client (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.16.2") + (version "2.16.3") (source (origin (method url-fetch) @@ -845,7 +845,7 @@ (define-public mbedtls-apache version "-apache.tgz")) (sha256 (base32 - "1906hbwlkq32075hca4vjad03dcc36aycvmaz8yvhr3ygg6lz0x6")))) + "0qd65lnr63vmx2gxla6lcmm5gawlnaj4wy4h4vmdc3h9h9nyw6zc")))) (build-system cmake-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From b48eb1e934f1d457ff6a0fec1c572bb12ed15fab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Sep 2019 16:42:50 +0200 Subject: gnu: nginx: Update to 1.17.4. * gnu/packages/web.scm (nginx): Update to 1.17.4. --- 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 0084db51fc..5c8e5c97c6 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -212,14 +212,14 @@ (define-public nginx ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.17.3") + (version "1.17.4") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0g0g9prwjy0rnv6n5smny5yl5dhnmflqdr3hwgyj5jpr5hfgx11v")))) + "0mg521bxh8pysmy20x599m252ici9w97kk7qy7s0wrv6bqv4p1b2")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) -- cgit v1.2.3