customized builds

This commit is contained in:
Chris Cromer 2017-10-10 16:29:22 -03:00
parent 3d5d662152
commit 235c95aa2b
246 changed files with 8857 additions and 1535 deletions

6
.configure-custom.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
ENABLE_VARS="kde-tray|ON|KDE_TRAY"
ENABLE_KDE_TRAY_DOC="build with kde tray and appindicator instead of gtk3 tray"
DISABLE_VARS="aur|ON|DISABLE_AUR"
DISABLE_DISABLE_AUR_DOC="disable the AUR in pamac"

22
.gitignore vendored
View File

@ -1,20 +1,8 @@
pkgbuild
resources/*~
resources/*.c
src/*.c
src/pamac.h
src/pamac.vapi
src/libpamac.so
src/pamac-user-daemon
src/pamac-system-daemon
src/pamac-tray
src/pamac-tray-appindicator
src/pamac-manager
src/pamac-install
src/pamac-updater
src/pamac-refresh
data/polkit/org.manjaro.pamac.policy
po/*.mo
po/*~
po/locale
*.swp
PKGBUILD
*.pkg.tar.xz
*.pkg.tar.xz.sig
data/polkit/org.pamac.policy
/build

View File

@ -1,2 +1,5 @@
Main developers:
Pamac classic devleopers:
Chris Cromer <cromer@cromnix.org>
Pamac developers:
Guillaume Benoit <guillaume@manjaro.org>

82
CMakeLists.txt Normal file
View File

@ -0,0 +1,82 @@
### CMakeLists automatically created with AutoVala
### Do not edit
project (pamac)
cmake_minimum_required (VERSION 2.6)
cmake_policy (VERSION 2.8)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
enable_testing ()
option(ICON_UPDATE "Update the icon cache after installing" ON)
option(BUILD_VALADOC "Build API documentation if Valadoc is available" OFF)
option(DISABLE_AUR "DISABLE_AUR" OFF)
option(KDE_TRAY "KDE_TRAY" OFF)
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE Release)
endif()
include(GNUInstallDirs)
if( ( ${CMAKE_INSTALL_PREFIX} MATCHES "^/usr/local" ) )
# A workaround to ensure that works 'out of the box' in Debian-based systems
set(CMAKE_INSTALL_LIBDIR lib)
endif()
set(HAVE_VALADOC OFF)
if(BUILD_VALADOC)
find_package(Valadoc)
if(VALADOC_FOUND)
set(HAVE_VALADOC ON)
include(Valadoc)
else()
message("Valadoc not found, will not build documentation")
endif()
endif()
find_package(PkgConfig)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} gdk-3.0)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} gtk+-3.0)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} json-glib-1.0)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} libalpm)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} libcurl)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} libnotify)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} libsoup-2.4)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} polkit-gobject-1)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} vte-2.91)
if (KDE_TRAY)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} appindicator3-0.1)
endif ()
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} gio-2.0)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} glib-2.0)
set(MODULES_TO_CHECK ${MODULES_TO_CHECK} gobject-2.0)
pkg_check_modules(DEPS REQUIRED ${MODULES_TO_CHECK})
find_program ( WHERE_GRESOURCE glib-compile-resources )
if ( NOT WHERE_GRESOURCE )
MESSAGE(FATAL_ERROR "Error! GLIB-COMPILE-RESOURCES is not installed.")
endif()
add_subdirectory(src/vapis)
add_subdirectory(po)
add_subdirectory(data/pixmaps)
add_subdirectory(data/mime)
add_subdirectory(data/polkit)
add_subdirectory(data/systemd)
add_subdirectory(data/dbus)
add_subdirectory(data/config)
add_subdirectory(data)
add_subdirectory(data/icons/24x24/status)
add_subdirectory(data/icons/16x16/apps)
add_subdirectory(data/config/noaur)
add_subdirectory(data/icons/32x32/apps)
add_subdirectory(data/interface)
add_subdirectory(src)
add_subdirectory(src/aur)
add_subdirectory(src/pamac-user-daemon)
add_subdirectory(src/pamac-tray)
add_subdirectory(src/pamac-install)
add_subdirectory(src/pamac-manager)
add_subdirectory(src/pamac-system-daemon)

View File

@ -1,92 +0,0 @@
prefix ?= /usr
bindir := $(prefix)/bin
libdir := $(prefix)/lib
includedir := $(prefix)/include
datadir := $(prefix)/share
localedir := $(datadir)/locale
sysconfdir ?= /etc
use_appindicator ?= false
all:
cd resources && make resources
cd src && make binaries
[ $(use_appindicator) = true ] && cd src && make pamac-tray-appindicator || echo "no appindicator support"
cd po && make gettext
clean:
cd resources && make clean
cd src && make clean
cd po && make clean
install: install_pamac-tray-appindicator
mkdir -p $(prefix)/share/icons/hicolor
cp -r data/icons/* $(prefix)/share/icons/hicolor
mkdir -p $(localedir)
cp -r po/locale/* $(localedir)
install -Dm644 src/pamac.h $(includedir)/pamac.h
install -Dm644 src/pamac.vapi $(datadir)/vala/vapi/pamac.vapi
install -Dm755 src/libpamac.so $(libdir)/libpamac.so
install -Dm755 src/pamac-user-daemon $(bindir)/pamac-user-daemon
install -Dm744 src/pamac-system-daemon $(bindir)/pamac-system-daemon
install -Dm755 src/pamac-tray $(bindir)/pamac-tray
install -Dm755 src/pamac-manager $(bindir)/pamac-manager
ln -srf $(bindir)/pamac-manager $(bindir)/pamac-updater
install -Dm755 src/pamac-install $(bindir)/pamac-install
install -Dm644 data/applications/pamac-tray.desktop $(sysconfdir)/xdg/autostart/pamac-tray.desktop
install -Dm644 data/applications/pamac-manager.desktop $(datadir)/applications/pamac-manager.desktop
install -Dm644 data/applications/pamac-updater.desktop $(datadir)/applications/pamac-updater.desktop
install -Dm644 data/applications/pamac-install.desktop $(datadir)/applications/pamac-install.desktop
install -Dm644 data/config/pamac.conf $(sysconfdir)/pamac.conf
install -Dm644 data/dbus/org.manjaro.pamac.system.conf $(sysconfdir)/dbus-1/system.d/org.manjaro.pamac.system.conf
install -Dm644 data/dbus/org.manjaro.pamac.user.service $(datadir)/dbus-1/services/org.manjaro.pamac.user.service
install -Dm644 data/dbus/org.manjaro.pamac.system.service $(datadir)/dbus-1/system-services/org.manjaro.pamac.system.service
install -Dm644 data/systemd/pamac-system.service $(libdir)/systemd/system/pamac-system.service
install -Dm644 data/systemd/pamac-cleancache.service $(libdir)/systemd/system/pamac-cleancache.service
install -Dm644 data/systemd/pamac-cleancache.timer $(libdir)/systemd/system/pamac-cleancache.timer
install -Dm644 data/systemd/pamac-mirrorlist.service $(libdir)/systemd/system/pamac-mirrorlist.service
install -Dm644 data/systemd/pamac-mirrorlist.timer $(libdir)/systemd/system/pamac-mirrorlist.timer
mkdir -p $(sysconfdir)/systemd/system/multi-user.target.wants
ln -srf $(libdir)/systemd/system/pamac-cleancache.timer $(sysconfdir)/systemd/system/multi-user.target.wants
ln -srf $(libdir)/systemd/system/pamac-mirrorlist.timer $(sysconfdir)/systemd/system/multi-user.target.wants
install -Dm644 data/polkit/org.manjaro.pamac.policy $(datadir)/polkit-1/actions/org.manjaro.pamac.policy
install -Dm644 data/mime/x-alpm-package.xml $(datadir)/mime/packages/x-alpm-package.xml
install_pamac-tray-appindicator:
install -Dm755 src/pamac-tray-appindicator $(bindir)/pamac-tray-appindicator &> /dev/null && \
install -Dm644 data/applications/pamac-tray-appindicator.desktop $(sysconfdir)/xdg/autostart/pamac-tray-appindicator.desktop &> /dev/null || echo no appindicator support
uninstall:
rm -f $(datadir)/icons/hicolor/16x16/apps/system-software-install.png
rm -f $(datadir)/icons/hicolor/24x24/status/pamac-tray-no-update.png
rm -f $(datadir)/icons/hicolor/24x24/status/pamac-tray-update.png
rm -f $(datadir)/icons/hicolor/32x32/apps/system-software-install.png
rm -f $(datadir)/locale/*/LC_MESSAGES/pamac.mo
rm -f $(includedir)/pamac.h
rm -f $(datadir)/vala/vapi/pamac.vapi
rm -f $(libdir)/libpamac.so
rm -f $(bindir)/pamac-user-daemon
rm -f $(bindir)/pamac-system-daemon
rm -f $(bindir)/pamac-tray
rm -f $(bindir)/pamac-tray-appindicator
rm -f $(bindir)/pamac-manager
rm -f $(bindir)/pamac-updater
rm -f $(bindir)/pamac-install
rm -f $(sysconfdir)/xdg/autostart/pamac-tray.desktop
rm -f $(sysconfdir)/xdg/autostart/pamac-tray-appindicator.desktop
rm -f $(datadir)/applications/pamac-manager.desktop
rm -f $(datadir)/applications/pamac-updater.desktop
rm -f $(datadir)/applications/pamac-install.desktop
rm -f $(sysconfdir)/pamac.conf
rm -f $(sysconfdir)/dbus-1/system.d/org.manjaro.pamac.system.conf
rm -f $(datadir)/dbus-1/services/org.manjaro.pamac.user.service
rm -f $(datadir)/dbus-1/system-services/org.manjaro.pamac.system.service
rm -f $(libdir)/systemd/system/pamac-system.service
rm -f $(libdir)/systemd/system/pamac-cleancache.service
rm -f $(sysconfdir)/systemd/system/pamac-cleancache.timer
rm -f $(libdir)/systemd/system/pamac-mirrorlist.service
rm -f $(sysconfdir)/systemd/system/pamac-mirrorlist.timer
rm -f $(libdir)/systemd/system/multi-user.target.wants/pamac-cleancache.timer
rm -f $(datadir)/polkit-1/actions/org.manjaro.pamac.policy
rm -f $(datadir)/mime/packages/x-alpm-package.xml

12
README
View File

@ -1,12 +0,0 @@
A DBus daemon and Gtk3 frontend for libalpm written in Vala
Features:
- Alpm bindings for Vala
- a DBus daemon to perform every tasks with root access using polkit to check authorizations
- a Gtk3 Package Manager
- a Gtk3 Updates Manager
- a Tray icon with configurable periodic refresh and updates notifications
- a complete AUR support:
* multiple words search capability
* Enable/Disable check updates from AUR
* Build and update AUR packages

67
README.md Normal file
View File

@ -0,0 +1,67 @@
# Pamac-classic
A graphical package manager for pacman
# Features:
- Alpm bindings for Vala
- A DBus daemon to perform every tasks with root access using polkit to check authorizations
- A Gtk3 Package Manager
- A Gtk3 Updates Manager
- A Tray icon with configurable periodic refresh and updates notifications
- Complete AUR support:
* Multiple words search capability
* Enable/Disable check updates from AUR
* Build and update AUR packages
# How to build
## Requirements
- GTK+: 3.0
- GIO: 2.0
- GLib: 2.0
- GObject: 2.0
- Json-Glib: 1.0
- libalpm
- libcurl
- LibSoup: 2.4
- polkit-gobject-1
- libnotify
- vte: 2.91
- appindicator-gtk3 (optional to build KDE tray icon)
- CMake
- Vala
- AutoVala (optional to regenerate CMake files)
## Using CMake
```
mkdir build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DCMAKE_INSTALL_SYSCONFDIR=/etc
make
```
### Extra build flags
- -DDISABLE_AUR=ON (to disable AUR in Pamac)
- -DKDE_TRAY=true (to build kde tray icon instead of gtk tray icon)
## Using configure
The configure script is just a wrapper for CMake, in the background the build process is the same.
```
./configure --prefix=/usr \
--libdir=/usr/lib \
--sysconfdir=/etc
make
```
### Extra configure options
- --disable-aur (to disable Aur in Pamac)
- --enable-kde-tray (to build kde tray icon instead of gtk tray icon)

1
TODO
View File

@ -1 +0,0 @@

14
autogen.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
# Generate translations for certain files such as polkit
pushd "${PWD}"/po
make
make clean
popd
# Update the autovala environment
export AUTOVALA_CMAKE_SCRIPT="${PWD}"/autovala/cmake
autovala refresh
autovala cmake
cp "${PWD}"/autovala/configure "${PWD}"/configure
cp "${PWD}"/autovala/configure-custom.sh "${PWD}"/.configure-custom.sh

View File

@ -0,0 +1,17 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION
share/autovala/cmake
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION
share/autovala/cmake
)
ENDIF()

View File

@ -0,0 +1,80 @@
##
# Copyright 2009-2010 Jakob Westhoff, 2014 Raster Software Vigo
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
##
# Find module for the Vala compiler (valac)
#
# This module determines wheter a Vala compiler is installed on the current
# system and where its executable is.
#
# Call the module using "find_package(Vala) from within your CMakeLists.txt.
#
# The following variables will be set after an invocation:
#
# VALA_FOUND Whether the vala compiler has been found or not
# VALA_EXECUTABLE Full path to the valac executable if it has been found
# VALA_VERSION Version number of the available valac
##
# Search for the valac executable in the usual system paths.
find_program(VALA_EXECUTABLE NAMES valac)
if (VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")
# if valac executable is not found, it can be that valac is not installed, or
# that the OS is source-based (like gentoo), and doesn't do a link from
# valac-X.YY to valac. In that case, search for the specific valac binary after
if (NOT VALA_DEFERRING_COMPILER_SEARCH)
message (STATUS "VALAC not found. Deferring compiler search")
endif(NOT VALA_DEFERRING_COMPILER_SEARCH)
set(VALA_DEFERRING_COMPILER_SEARCH TRUE)
unset(VALA_EXECUTABLE)
unset(VALA_VERSION)
else(VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
# VALA_EXECUTABLE is set)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Vala DEFAULT_MSG VALA_EXECUTABLE)
mark_as_advanced(VALA_EXECUTABLE)
# Determine the valac version
if(VALA_FOUND)
execute_process(COMMAND ${VALA_EXECUTABLE} "--version" OUTPUT_VARIABLE "VALA_VERSION")
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
endif(VALA_FOUND)
endif(VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")

View File

@ -0,0 +1,20 @@
# Search for the valadocc executable in the usual system paths.
find_program(VALADOC_EXECUTABLE NAMES valadoc)
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
# VALA_EXECUTABLE is set)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Valadoc DEFAULT_MSG VALADOC_EXECUTABLE)
mark_as_advanced(VALADOC_EXECUTABLE)
# Determine the valac version
if(VALA_FOUND)
execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
OUTPUT_VARIABLE "VALA_VERSION")
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
endif(VALA_FOUND)

View File

@ -0,0 +1,34 @@
macro(add_target_gir TARGET_NAME GIR_NAME HEADER CFLAGS GRANITE_VERSION)
set(PACKAGES "")
foreach(PKG ${ARGN})
set(PACKAGES ${PACKAGES} --include=${PKG})
endforeach()
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\")
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME}
--quiet
--library ${TARGET_NAME} ${PACKAGES}
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir
-L${CMAKE_CURRENT_BINARY_DIR}
--nsversion=${GRANITE_VERSION} ${HEADER})")
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/)
endmacro()
macro(add_target_gir_with_executable TARGET_NAME EXE_NAME GIR_NAME HEADER EXE_HEADER CFLAGS GRANITE_VERSION)
set(PACKAGES "")
foreach(PKG ${ARGN})
set(PACKAGES ${PACKAGES} --include=${PKG})
endforeach()
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\")
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME}
--quiet
--library ${TARGET_NAME} --program ${EXE_NAME} ${PACKAGES}
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir
-L${CMAKE_CURRENT_BINARY_DIR}
-I${CMAKE_CURRENT_BINARY_DIR}
--nsversion=${GRANITE_VERSION} ${HEADER} ${EXE_HEADER})")
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/)
endmacro()

View File

@ -0,0 +1,42 @@
# GSettings.cmake, CMake macros written for Marlin, feel free to re-use them.
option (GSETTINGS_LOCALINSTALL "Install GSettings Schemas locally instead of to the GLib prefix" ON)
option (GSETTINGS_COMPILE "Compile GSettings Schemas after installation" ${GSETTINGS_LOCALINSTALL})
if(GSETTINGS_LOCALINSTALL)
message(STATUS "GSettings schemas will be installed locally.")
endif()
if(GSETTINGS_COMPILE)
message(STATUS "GSettings shemas will be compiled.")
endif()
macro(add_schema SCHEMA_NAME)
set(PKG_CONFIG_EXECUTABLE pkg-config)
# Have an option to not install the schema into where GLib is
if (GSETTINGS_LOCALINSTALL)
SET (GSETTINGS_DIR "${CMAKE_INSTALL_PREFIX}/share/glib-2.0/schemas/")
else (GSETTINGS_LOCALINSTALL)
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} glib-2.0 --variable prefix OUTPUT_VARIABLE _glib_prefix OUTPUT_STRIP_TRAILING_WHITESPACE)
SET (GSETTINGS_DIR "${_glib_prefix}/share/glib-2.0/schemas/")
endif (GSETTINGS_LOCALINSTALL)
# Run the validator and error if it fails
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE _glib_comple_schemas OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND ${_glib_comple_schemas} --dry-run --schema-file=${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} ERROR_VARIABLE _schemas_invalid OUTPUT_STRIP_TRAILING_WHITESPACE)
if (_schemas_invalid)
message (SEND_ERROR "Schema validation error: ${_schemas_invalid}")
endif (_schemas_invalid)
# Actually install and recomple schemas
message (STATUS "GSettings schemas will be installed into ${GSETTINGS_DIR}")
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} DESTINATION ${GSETTINGS_DIR} OPTIONAL)
if (GSETTINGS_COMPILE)
install (CODE "message (STATUS \"Compiling GSettings schemas\")")
install (CODE "execute_process (COMMAND ${_glib_comple_schemas} ${GSETTINGS_DIR})")
endif ()
endmacro()

View File

@ -0,0 +1,28 @@
##
# This module with create symlinks during install
##
macro(install_symlink _filepath _sympath)
get_filename_component(_symname ${_sympath} NAME)
get_filename_component(_installdir ${_sympath} PATH)
if (BINARY_PACKAGING_MODE)
execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink
${_filepath}
${CMAKE_CURRENT_BINARY_DIR}/${_symname})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_symname}
DESTINATION ${_installdir})
else ()
install(CODE "
if (\"\$ENV{DESTDIR}\" STREQUAL \"\")
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
${_filepath}
${_installdir}/${_symname})
else ()
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
${_filepath}
\$ENV{DESTDIR}/${_installdir}/${_symname})
endif ()
")
endif ()
endmacro(install_symlink)

286
autovala/cmake/Makefile Normal file
View File

@ -0,0 +1,286 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canoncical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/mefrio/Scrivania/cmake
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/mefrio/Scrivania/cmake/cmake
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
/usr/bin/cmake -i .
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# Special rule for the target install/local
install/local: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: install/local
.PHONY : install/local/fast
# Special rule for the target install/strip
install/strip: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: install/strip
.PHONY : install/strip/fast
# Special rule for the target list_install_components
list_install_components:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles /home/mefrio/Scrivania/cmake/cmake/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named scratch
# Build rule for target.
scratch: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 scratch
.PHONY : scratch
# fast build rule for target.
scratch/fast:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/build
.PHONY : scratch/fast
src/entry.o: src/entry.c.o
.PHONY : src/entry.o
# target to build an object file
src/entry.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.o
.PHONY : src/entry.c.o
src/entry.i: src/entry.c.i
.PHONY : src/entry.i
# target to preprocess a source file
src/entry.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.i
.PHONY : src/entry.c.i
src/entry.s: src/entry.c.s
.PHONY : src/entry.s
# target to generate assembly for a file
src/entry.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.s
.PHONY : src/entry.c.s
src/main_window.o: src/main_window.c.o
.PHONY : src/main_window.o
# target to build an object file
src/main_window.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.o
.PHONY : src/main_window.c.o
src/main_window.i: src/main_window.c.i
.PHONY : src/main_window.i
# target to preprocess a source file
src/main_window.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.i
.PHONY : src/main_window.c.i
src/main_window.s: src/main_window.c.s
.PHONY : src/main_window.s
# target to generate assembly for a file
src/main_window.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.s
.PHONY : src/main_window.c.s
src/menu.o: src/menu.c.o
.PHONY : src/menu.o
# target to build an object file
src/menu.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.o
.PHONY : src/menu.c.o
src/menu.i: src/menu.c.i
.PHONY : src/menu.i
# target to preprocess a source file
src/menu.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.i
.PHONY : src/menu.c.i
src/menu.s: src/menu.c.s
.PHONY : src/menu.s
# target to generate assembly for a file
src/menu.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.s
.PHONY : src/menu.c.s
src/notebook.o: src/notebook.c.o
.PHONY : src/notebook.o
# target to build an object file
src/notebook.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.o
.PHONY : src/notebook.c.o
src/notebook.i: src/notebook.c.i
.PHONY : src/notebook.i
# target to preprocess a source file
src/notebook.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.i
.PHONY : src/notebook.c.i
src/notebook.s: src/notebook.c.s
.PHONY : src/notebook.s
# target to generate assembly for a file
src/notebook.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.s
.PHONY : src/notebook.c.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... install"
@echo "... install/local"
@echo "... install/strip"
@echo "... list_install_components"
@echo "... rebuild_cache"
@echo "... scratch"
@echo "... src/entry.o"
@echo "... src/entry.i"
@echo "... src/entry.s"
@echo "... src/main_window.o"
@echo "... src/main_window.i"
@echo "... src/main_window.s"
@echo "... src/menu.o"
@echo "... src/menu.i"
@echo "... src/menu.s"
@echo "... src/notebook.o"
@echo "... src/notebook.i"
@echo "... src/notebook.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -0,0 +1,36 @@
##
# This is a helper Macro to parse optional arguments in Macros/Functions
# It has been taken from the public CMake wiki.
# See http://www.cmake.org/Wiki/CMakeMacroParseArguments for documentation and
# licensing.
##
macro(parse_arguments prefix arg_names option_names)
set(DEFAULT_ARGS)
foreach(arg_name ${arg_names})
set(${prefix}_${arg_name})
endforeach(arg_name)
foreach(option ${option_names})
set(${prefix}_${option} FALSE)
endforeach(option)
set(current_arg_name DEFAULT_ARGS)
set(current_arg_list)
foreach(arg ${ARGN})
set(larg_names ${arg_names})
list(FIND larg_names "${arg}" is_arg_name)
if(is_arg_name GREATER -1)
set(${prefix}_${current_arg_name} ${current_arg_list})
set(current_arg_name ${arg})
set(current_arg_list)
else(is_arg_name GREATER -1)
set(loption_names ${option_names})
list(FIND loption_names "${arg}" is_option)
if(is_option GREATER -1)
set(${prefix}_${arg} TRUE)
else(is_option GREATER -1)
set(current_arg_list ${current_arg_list} ${arg})
endif(is_option GREATER -1)
endif(is_arg_name GREATER -1)
endforeach(arg)
set(${prefix}_${current_arg_name} ${current_arg_list})
endmacro(parse_arguments)

10
autovala/cmake/README Normal file
View File

@ -0,0 +1,10 @@
Elementary CMake modules
This is a set of CMake modules: Translations, GSettings, and Vala modules.
For all the Vala related modules see README.Vala.rst:
- ParseArguments.cmake
- ValaPrecompile.cmake
- ValaVersion.cmake
- FindVala.cmake

View File

@ -0,0 +1,173 @@
==========
Vala CMake
==========
:Author:
Jakob Westhoff
:Version:
Draft
Overview
========
Vala CMake is a collection of macros for the CMake_ build system to allow the
creation and management of projects developed using the Vala_ programming
language or its "Genie" flavor (less tested).
Installation
============
To use the Vala macros in your own project you need to copy the macro files to
an arbitrary folder in your projects directory and reference them in your
``CMakeLists.txt`` file.
Assuming the macros are stored under ``cmake/vala`` in your projects folder you
need to add the following information to your base ``CMakeLists.txt``::
list(APPEND CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake/vala
)
After the new module path as been added you can simply include the provided
modules or use the provided find routines.
Finding Vala
============
The find module for vala works like any other Find module in CMake.
You can use it by simply calling the usual ``find_package`` function. Default
parameters like ``REQUIRED`` and ``QUIETLY`` are supported.
::
find_package(Vala REQUIRED)
After a successful call to the find_package function the following variables
will be set:
VALA_FOUND
Whether the vala compiler has been found or not
VALA_EXECUTABLE
Full path to the valac executable if it has been found
VALA_VERSION
Version number of the available valac
Precompiling Vala sources
=========================
CMake is mainly supposed to handle c or c++ based projects. Luckily every vala
program is translated into plain c code using the vala compiler, followed by
normal compilation of the generated c program using gcc.
The macro ``vala_precompile`` uses that fact to create c files from your .vala
sources for further CMake processing.
The first parameter provided is a variable, which will be filled with a list of
c files outputted by the vala compiler. This list can than be used in
conjunction with functions like ``add_executable`` or others to create the
necessary compile rules with CMake.
The initial variable is followed by a list of .vala files to be compiled.
Please take care to add every vala file belonging to the currently compiled
project or library as Vala will otherwise not be able to resolve all
dependencies.
The following sections may be specified afterwards to provide certain options
to the vala compiler:
PACKAGES
A list of vala packages/libraries to be used during the compile cycle. The
package names are exactly the same, as they would be passed to the valac
"--pkg=" option.
OPTIONS
A list of optional options to be passed to the valac executable. This can be
used to pass "--thread" for example to enable multi-threading support.
DIRECTORY
Specify the directory where the output source files will be stored. If
ommitted, the source files will be stored in CMAKE_CURRENT_BINARY_DIR.
CUSTOM_VAPIS
A list of custom vapi files to be included for compilation. This can be
useful to include freshly created vala libraries without having to install
them in the system.
GENERATE_VAPI
Pass all the needed flags to the compiler to create an internal vapi for
the compiled library. The provided name will be used for this and a
<provided_name>.vapi file will be created.
GENERATE_HEADER
Let the compiler generate a header file for the compiled code. There will
be a header file as well as an internal header file being generated called
<provided_name>.h and <provided_name>_internal.h
The following call is a simple example to the vala_precompile macro showing an
example to every of the optional sections::
vala_precompile(VALA_C
source1.vala
source2.vala
source3.vala
PACKAGES
gtk+-2.0
gio-1.0
posix
OPTIONS
--thread
CUSTOM_VAPIS
some_vapi.vapi
GENERATE_VAPI
myvapi
GENERATE_HEADER
myheader
)
Most important is the variable VALA_C which will contain all the generated c
file names after the call. The easiest way to use this information is to tell
CMake to create an executable out of it.
::
add_executable(myexecutable ${VALA_C})
Further reading
===============
The `Pdf Presenter Console`__ , which is a vala based project of mine, makes
heavy usage of the here described macros. To look at a real world example of
these macros the mentioned project is the right place to take a look. The svn
trunk of it can be found at::
svn://pureenergy.cc/pdf_presenter_console/trunk
__ http://westhoffswelt.de/projects/pdf_presenter_console.html
Acknowledgments
===============
Thanks go out to Florian Sowade, a fellow local PHP-Usergroupie, who helped me
a lot with the initial version of this macros and always answered my mostly
dumb CMake questions.
.. _CMake: http://cmake.org
.. _Vala: http://live.gnome.org/Vala
.. _Genie: http://live.gnome.org/Genie
..
Local Variables:
mode: rst
fill-column: 79
End:
vim: et syn=rst tw=79

View File

@ -0,0 +1,5 @@
# Test macros for Marlin, feel free to re-use them.
macro(add_test_executable EXE_NAME)
add_test(${EXE_NAME} gtester ${CMAKE_CURRENT_BINARY_DIR}/${EXE_NAME})
endmacro()

View File

@ -0,0 +1,66 @@
# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
macro(add_translations_directory NLS_PACKAGE)
add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
find_program (MSGFMT_EXECUTABLE msgfmt)
file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
foreach (PO_INPUT ${PO_FILES})
get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
install (FILES ${MO_OUTPUT} DESTINATION
share/locale/${PO_INPUT_BASE}/LC_MESSAGES
RENAME ${NLS_PACKAGE}.mo)
endforeach (PO_INPUT ${PO_FILES})
endmacro(add_translations_directory)
macro(add_translations_catalog NLS_PACKAGE)
add_custom_target (pot COMMENT “Building translation catalog.”)
find_program (XGETTEXT_EXECUTABLE xgettext)
set(C_SOURCE "")
set(VALA_SOURCE "")
set(GLADE_SOURCE "")
foreach(FILES_INPUT ${ARGN})
set(BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT})
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.c)
foreach(C_FILE ${SOURCE_FILES})
set(C_SOURCE ${C_SOURCE} ${C_FILE})
endforeach()
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.vala)
foreach(VALA_C_FILE ${SOURCE_FILES})
set(VALA_SOURCE ${VALA_SOURCE} ${VALA_C_FILE})
endforeach()
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.ui)
foreach(GLADE_C_FILE ${SOURCE_FILES})
set(GLADE_SOURCE ${GLADE_SOURCE} ${GLADE_C_FILE})
endforeach()
endforeach()
set(BASE_XGETTEXT_COMMAND
${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE}
-o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
--keyword="_" --keyword="N_" --from-code=UTF-8)
set(CONTINUE_FLAG "")
IF(NOT "${C_SOURCE}" STREQUAL "")
add_custom_command(TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${C_SOURCE})
set(CONTINUE_FLAG "-j")
ENDIF()
IF(NOT "${VALA_SOURCE}" STREQUAL "")
add_custom_command(TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LC\# ${VALA_SOURCE})
set(CONTINUE_FLAG "-j")
ENDIF()
IF(NOT "${GLADE_SOURCE}" STREQUAL "")
add_custom_command (TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LGlade ${GLADE_SOURCE})
ENDIF()
endmacro()

View File

@ -0,0 +1,243 @@
##
# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
# Copyright 2012 elementary.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
include(ParseArguments)
find_package(Vala REQUIRED)
##
# Compile vala files to their c equivalents for further processing.
#
# The "vala_precompile" macro takes care of calling the valac executable on the
# given source to produce c files which can then be processed further using
# default cmake functions.
#
# The first parameter provided is a variable, which will be filled with a list
# of c files outputted by the vala compiler. This list can than be used in
# conjuction with functions like "add_executable" or others to create the
# neccessary compile rules with CMake.
#
# The initial variable is followed by a list of .vala files to be compiled.
# Please take care to add every vala file belonging to the currently compiled
# project or library as Vala will otherwise not be able to resolve all
# dependencies.
#
# The following sections may be specified afterwards to provide certain options
# to the vala compiler:
#
# PACKAGES
# A list of vala packages/libraries to be used during the compile cycle. The
# package names are exactly the same, as they would be passed to the valac
# "--pkg=" option.
#
# OPTIONS
# A list of optional options to be passed to the valac executable. This can be
# used to pass "--thread" for example to enable multi-threading support.
#
# CUSTOM_VAPIS
# A list of custom vapi files to be included for compilation. This can be
# useful to include freshly created vala libraries without having to install
# them in the system.
#
# GENERATE_VAPI
# Pass all the needed flags to the compiler to create an internal vapi for
# the compiled library. The provided name will be used for this and a
# <provided_name>.vapi file will be created.
#
# GENERATE_HEADER
# Let the compiler generate a header file for the compiled code. There will
# be a header file as well as an internal header file being generated called
# <provided_name>.h and <provided_name>_internal.h
#
# GENERATE_GIR
# Have the compiler generate a GObject-Introspection repository file with
# name: <provided_name>.gir. This can be later used to create a binary typelib
# using the GI compiler.
#
# GENERATE_SYMBOLS
# Output a <provided_name>.symbols file containing all the exported symbols.
#
# The following call is a simple example to the vala_precompile macro showing
# an example to every of the optional sections:
#
# vala_precompile(VALA_C mytargetname
# source1.vala
# source2.vala
# source3.vala
# PACKAGES
# gtk+-2.0
# gio-1.0
# posix
# DIRECTORY
# gen
# OPTIONS
# --thread
# CUSTOM_VAPIS
# some_vapi.vapi
# GENERATE_VAPI
# myvapi
# GENERATE_HEADER
# myheader
# GENERATE_GIR
# mygir
# GENERATE_SYMBOLS
# mysymbols
# )
#
# Most important is the variable VALA_C which will contain all the generated c
# file names after the call.
##
macro(vala_precompile output target_name)
parse_arguments(ARGS "TARGET;PACKAGES;OPTIONS;DIRECTORY;GENERATE_GIR;GENERATE_SYMBOLS;GENERATE_HEADER;GENERATE_VAPI;CUSTOM_VAPIS" "" ${ARGN})
if(ARGS_DIRECTORY)
set(DIRECTORY ${ARGS_DIRECTORY})
else(ARGS_DIRECTORY)
set(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif(ARGS_DIRECTORY)
include_directories(${DIRECTORY})
set(vala_pkg_opts "")
foreach(pkg ${ARGS_PACKAGES})
list(APPEND vala_pkg_opts "--pkg=${pkg}")
endforeach(pkg ${ARGS_PACKAGES})
set(in_files "")
set(out_files "")
set(out_files_display "")
set(${output} "")
foreach(src ${ARGS_DEFAULT_ARGS})
string(REGEX MATCH "^([a-zA-Z]:)?/" IS_MATCHED ${src})
if(${IS_MATCHED} MATCHES "/")
set(src_file_path ${src})
else()
set(src_file_path ${CMAKE_CURRENT_SOURCE_DIR}/${src})
endif()
list(APPEND in_files ${src_file_path})
string(REPLACE ".vala" ".c" src ${src})
string(REPLACE ".gs" ".c" src ${src})
if(${IS_MATCHED} MATCHES "/")
get_filename_component(VALA_FILE_NAME ${src} NAME)
set(out_file "${DIRECTORY}/${VALA_FILE_NAME}")
list(APPEND out_files "${DIRECTORY}/${VALA_FILE_NAME}")
else()
set(out_file "${DIRECTORY}/${src}")
list(APPEND out_files "${DIRECTORY}/${src}")
endif()
list(APPEND ${output} ${out_file})
list(APPEND out_files_display "${src}")
endforeach(src ${ARGS_DEFAULT_ARGS})
set(custom_vapi_arguments "")
if(ARGS_CUSTOM_VAPIS)
foreach(vapi ${ARGS_CUSTOM_VAPIS})
if(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
list(APPEND custom_vapi_arguments ${vapi})
else (${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
list(APPEND custom_vapi_arguments ${CMAKE_CURRENT_SOURCE_DIR}/${vapi})
endif(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
endforeach(vapi ${ARGS_CUSTOM_VAPIS})
endif(ARGS_CUSTOM_VAPIS)
set(vapi_arguments "")
if(ARGS_GENERATE_VAPI)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_VAPI}.vapi")
list(APPEND out_files_display "${ARGS_GENERATE_VAPI}.vapi")
set(vapi_arguments "--library=${ARGS_GENERATE_VAPI}" "--vapi=${ARGS_GENERATE_VAPI}.vapi")
# Header and internal header is needed to generate internal vapi
if (NOT ARGS_GENERATE_HEADER)
set(ARGS_GENERATE_HEADER ${ARGS_GENERATE_VAPI})
endif(NOT ARGS_GENERATE_HEADER)
endif(ARGS_GENERATE_VAPI)
set(header_arguments "")
if(ARGS_GENERATE_HEADER)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
list(APPEND out_files_display "${ARGS_GENERATE_HEADER}.h")
list(APPEND header_arguments "--header=${ARGS_GENERATE_HEADER}.h")
endif(ARGS_GENERATE_HEADER)
set(gir_arguments "")
if(ARGS_GENERATE_GIR)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_GIR}.gir")
list(APPEND out_files_display "${ARGS_GENERATE_GIR}.gir")
set(gir_arguments "--gir=${ARGS_GENERATE_GIR}.gir")
endif(ARGS_GENERATE_GIR)
set(symbols_arguments "")
if(ARGS_GENERATE_SYMBOLS)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_SYMBOLS}.symbols")
list(APPEND out_files_display "${ARGS_GENERATE_SYMBOLS}.symbols")
set(symbols_arguments "--symbols=${ARGS_GENERATE_SYMBOLS}.symbols")
endif(ARGS_GENERATE_SYMBOLS)
set(os_defines "")
if(WIN32)
list(APPEND os_defines "-D" "\"G_OS_WIN32\"")
endif(WIN32)
# Workaround for a bug that would make valac run twice. This file is written
# after the vala compiler generates C source code.
set (extra_name ${extra_name}_ )
set(OUTPUT_STAMP ${CMAKE_CURRENT_BINARY_DIR}/${target_name}${extra_name}valac.stamp)
add_custom_command(
OUTPUT
${OUTPUT_STAMP}
COMMAND
${VALA_EXECUTABLE}
ARGS
"-C"
${header_arguments}
${vapi_arguments}
${gir_arguments}
${symbols_arguments}
"-b" ${CMAKE_CURRENT_SOURCE_DIR}
"-d" ${DIRECTORY}
${os_defines}
${vala_pkg_opts}
${ARGS_OPTIONS}
${in_files}
${custom_vapi_arguments}
COMMAND
touch
ARGS
${OUTPUT_STAMP}
DEPENDS
${in_files}
${ARGS_CUSTOM_VAPIS}
COMMENT
"Generating ${out_files_display}"
)
# This command will be run twice for some reason (pass a non-empty string to COMMENT
# in order to see it). Since valac is not executed from here, this won't be a problem.
add_custom_command(OUTPUT ${out_files} DEPENDS ${OUTPUT_STAMP} COMMENT "")
endmacro(vala_precompile)

View File

@ -0,0 +1,153 @@
##
# Copyright (C) 2014 Raster Software Vigo
# Autovala 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.
#
# Autovala 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 this program. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright (C) 2013, Valama development team
#
# Copyright 2009-2010 Jakob Westhoff All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
include(ParseArguments)
find_package(Vala REQUIRED)
##
# Ensure a certain valac version is available
#
# The initial argument is the version to check for
#
# It may be followed by a optional parameter to specifiy a version range. The
# following options are valid:
#
# EXACT
# Vala needs to be available in the exact version given
#
# MINIMUM
# The provided version is the minimum version. Therefore Vala needs to be
# available in the given version or any higher version
#
# MAXIMUM
# The provided version is the maximum. Therefore Vala needs to be available
# in the given version or any version older than this
#
# If no option is specified the version will be treated as a minimal version.
##
macro(ensure_vala_version ensure_version)
if (USE_VALA_BINARY)
message(STATUS "Forced use of vala binary ${USE_VALA_BINARY}")
set(VALA_EXECUTABLE ${USE_VALA_BINARY})
else (USE_VALA_BINARY)
message(STATUS "checking for Vala version of valac-${ensure_version}")
unset(version_accepted)
execute_process(COMMAND "valac-${ensure_version}" "--version"
OUTPUT_VARIABLE "VALA_VERSION" OUTPUT_STRIP_TRAILING_WHITESPACE)
if (NOT VALA_VERSION)
find_program(VALA_EXECUTABLE "valac")
# If the specific version asked for this project is not found,
# try to use the one pointed by the valac link
parse_arguments(ARGS "" "MINIMUM;MAXIMUM;EXACT" ${ARGN})
set(compare_message "")
set(error_message "")
if(ARGS_MINIMUM)
set(compare_message "a minimum ")
set(error_message "or greater ")
elseif(ARGS_MAXIMUM)
set(compare_message "a maximum ")
set(error_message "or less ")
endif(ARGS_MINIMUM)
message(STATUS "checking for ${compare_message}Vala version of ${ensure_version}" )
execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
OUTPUT_VARIABLE "VALA_VERSION" OUTPUT_STRIP_TRAILING_WHITESPACE)
else(NOT VALA_VERSION)
set(VALA_EXECUTABLE "valac-${ensure_version}")
endif(NOT VALA_VERSION)
# this code allows to identify development versions as the right version
# e.g. 0.19.1 -> 0.20 ; 0.20.1 -> 0.20 ;
# But this code seems to not be fine 0.24.0.2-2235 -> 0.26
# Thanks to Yannick Inizan
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
string(REPLACE "." ";" VALA_LIST "${VALA_VERSION}")
list(GET VALA_LIST 0 maj_ver)
list(GET VALA_LIST 1 min_ver)
list(GET VALA_LIST 2 rev_ver)
math(EXPR is_odd "${min_ver} % 2")
list(LENGTH VALA_LIST len)
#if((${is_odd} EQUAL 1))
# math(EXPR min_ver "${min_ver} + 1")
#elseif(len GREATER 3)
# math(EXPR min_ver "${min_ver} + 2")
#endif()
set(VALA_SVERSION "${maj_ver}.${min_ver}" CACHE INTERNAL "")
# MINIMUM is the default if no option is specified
if(ARGS_EXACT)
if(${VALA_SVERSION} VERSION_EQUAL ${ensure_version} )
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
elseif(ARGS_MAXIMUM)
if(${VALA_SVERSION} VERSION_LESS ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_LESS ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
else(ARGS_MAXIMUM)
if(${VALA_SVERSION} VERSION_GREATER ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_GREATER ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
endif(ARGS_EXACT)
if (NOT version_accepted)
message(FATAL_ERROR
"Vala version ${ensure_version} ${error_message}is required."
)
endif(NOT version_accepted)
message(STATUS
" found Vala, version ${VALA_SVERSION}"
)
endif(USE_VALA_BINARY)
endmacro(ensure_vala_version)

View File

@ -0,0 +1,38 @@
include(ParseArguments)
find_package(Valadoc REQUIRED)
macro(valadoc target outdir)
parse_arguments(ARGS "PACKAGES;OPTIONS;CUSTOM_VAPIS" "" ${ARGN})
set(vala_pkg_opts "")
foreach(pkg ${ARGS_PACKAGES})
list(APPEND vala_pkg_opts "--pkg=${pkg}")
endforeach(pkg ${ARGS_PACKAGES})
set(vapi_dir_opts "")
foreach(src ${ARGS_CUSTOM_VAPIS})
get_filename_component(pkg ${src} NAME_WE)
list(APPEND vala_pkg_opts "--pkg=${pkg}")
get_filename_component(path ${src} PATH)
list(APPEND vapi_dir_opts "--vapidir=${path}")
endforeach(src ${ARGS_DEFAULT_ARGS})
list(REMOVE_DUPLICATES vapi_dir_opts)
add_custom_command(TARGET ${target}
COMMAND
${VALADOC_EXECUTABLE}
ARGS
"--force"
"-b" ${CMAKE_CURRENT_SOURCE_DIR}
"-o" ${outdir}
"--package-name=${CMAKE_PROJECT_NAME}"
"--package-version=${PROJECT_VERSION}"
${vala_pkg_opts}
${vapi_dir_opts}
${ARGS_OPTIONS}
${in_files}
DEPENDS
${in_files}
${ARGS_CUSTOM_VAPIS}
)
endmacro(valadoc)

314
autovala/configure vendored Executable file
View File

@ -0,0 +1,314 @@
#!/bin/sh
# Autotools-style (./configure) wrapper for CMake
# <https://github.com/nemequ/configure-cmake>
#
# *** IMPORTANT ***
#
# You must include the GNUInstallDirs module (which comes with
# CMake) in your project. Just put "include (GNUInstallDirs)" in
# you CMakeLists.txt and you should be good.
#
# This script was originally written for Squash
# <https://quixdb.github.io/squash/> by Evan Nemerson
# <evan@nemerson.com>, but has been spun off into a separate
# repository. Please feel free to copy it into your own repository,
# though I would appreciate it if you would post improvements, bugs,
# feature requests, etc. to the issue tracker at
# <https://github.com/nemequ/configure-cmake/issues>.
#
# To the extent possible under law, the author(s) hereby waive all
# copyright and related or neighboring rights to this work. For
# details, see <https://creativecommons.org/publicdomain/zero/1.0/>
TOP_SRCDIR="$(dirname $0)"
CMAKE_CMD="cmake ${TOP_SRCDIR}"
BUILD_TYPE="Debug"
PREFIX=/usr/local
LIBDIR=
CMAKE_ARGS=
if [ -e "${TOP_SRCDIR}/.configure-custom.sh" ]; then
. "${TOP_SRCDIR}/.configure-custom.sh"
fi
quote() {
echo "$1" | sed -e "s|'|'\\\\''|g; 1s/^/'/; \$s/\$/'/"
}
extract_var_string() {
VAR_NAME=$1
VAR_NAME=$(echo $1 | sed -e 's/[ \t]*$//')
if [ "x$2" != "x" ]; then
VAR_VALUE=$2
else
VAR_VALUE=yes
fi
if [ "x$3" != "x" ]; then
VAR_UC_NAME=$3
else
VAR_UC_NAME=$(echo "$1" | tr '[:lower:]' '[:upper:]' | tr -c '[:alnum:]' '_' | sed 's/_$//g')
fi
}
set_config_var() {
is_with=n
case "$1" in
"--enable-"*)
name="${1#--enable-}"
cfg="${ENABLE_VARS}"
;;
"--disable-"*)
name="${1#--disable-}";
cfg="${DISABLE_VARS}";
;;
"--with-"*)
# IFS="=" read -ra WITHARGS <<< "${1}"
name="${1#--with-}"
cfg="${WITH_VARS}"
is_with=y
;;
esac
found=n
for varstring in $cfg; do
extract_var_string $(echo "${varstring}" | tr '|' ' ')
if [ "x$VAR_NAME" = "x$name" ]; then
found=y
break;
fi
done
if [ "$found" = "y" ]; then
if [ "x$is_with" = "xy" ]; then
CMAKE_ARGS="$CMAKE_ARGS -D${VAR_UC_NAME}=$(quote "$2")"
else
CMAKE_ARGS="$CMAKE_ARGS -D${VAR_UC_NAME}=$(quote "${VAR_VALUE}")"
fi
else
echo "Unknown parameter: ${1}"
exit 1
fi
}
prefix_to_offset() {
expr $(echo "${1}" | awk '{ print length }') + 1
}
print_help() {
cat <<EOF >&2
-h, --help display this help and exit
--disable-debug disable debugging mode
--pass-thru pass remaining arguments through to CMake
--prefix=PREFIX install architecture-independent files in PREFIX
[$PREFIX]
--bindir=DIR user executables [PREFIX/bin]
--sbindir=DIR system admin executables [PREFIX/sbin]
--libexecdir=DIR program executables [PREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [PREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PROJECT_NAME]
EOF
first=y
for varstring in ${ENABLE_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="ENABLE_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
if [ "x${docstring}" = "x" ]; then
printf " --enable-%-14s enable %s support\n" "${VAR_NAME}" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --enable-%-14s %s\n" "${VAR_NAME}" "$docstring"
fi
done
first=y
for varstring in ${DISABLE_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="DISABLE_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
if [ "x${docstring}" = "x" ]; then
printf " --disable-%-13s disable %s support\n" "${VAR_NAME}" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --disable-%-13s %s\n" "${VAR_NAME}" "$docstring"
fi
done
first=y
for varstring in ${WITH_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="WITH_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
paraminfo="${VAR_NAME}=${VAR_VALUE}"
if [ "x${docstring}" = "x" ]; then
printf " --with-%-16s enable %s support\n" "$paraminfo" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --with-%-16s %s\n" "$paraminfo" "$docstring"
fi
done
exit 0
}
while [ $# != 0 ]; do
case "$1" in
"--prefix="*)
PREFIX="${1#*=}";;
"--prefix")
PREFIX="${2}"; shift;;
"--bindir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_BINDIR=$(quote "${1#*=}")";;
"--bindir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_BINDIR=$(quote "$2")"; shift;;
"--sbindir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SBINDIR=$(quote "${1#*=}")";;
"--sbindir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SBINDIR=$(quote "$2")"; shift;;
"--libexecdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LIBEXECDIR=$(quote "${1#*=}")";;
"--libexecdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LIBEXECDIR=$(quote "$2")"; shift;;
"--sysconfdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SYSCONFDIR=$(quote "${1#*=}")";;
"--sysconfdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SYSCONFDIR=$(quote "$2")"; shift;;
"--sharedstatedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SHAREDSTATEDIR=$(quote "${1#*=}")";;
"--sharedstatedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SHAREDSTATEDIR=$(quote "$2")"; shift;;
"--localstatedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALSTATEDIR=$(quote "${1#*=}")";;
"--localstatedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALSTATEDIR=$(quote "$2")"; shift;;
"--libdir="*)
LIBDIR="${1#*=}";;
"--libdir")
LIBDIR="${2}"; shift;;
"--includedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INCLUDEDIR=$(quote "${1#*=}")";;
"--includedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INCLUDEDIR=$(quote "$2")"; shift;;
"--oldincludedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_OLDINCLUDEDIR=$(quote "${1#*=}")";;
"--oldincludedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_OLDINCLUDEDIR=$(quote "$2")"; shift;;
"--datarootdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATAROOTDIR=$(quote "${1#*=}")";;
"--datarootdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATAROOTDIR=$(quote "$2")"; shift;;
"--datadir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATADIR=$(quote "${1#*=}")";;
"--datadir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATADIR=$(quote "$2")"; shift;;
"--infodir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INFODIR=$(quote "${1#*=}")";;
"--infodir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INFODIR=$(quote "$2")"; shift;;
"--localedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALEDIR=$(quote "${1#*=}")";;
"--localedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALEDIR=$(quote "$2")"; shift;;
"--mandir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_MANDIR=$(quote "${1#*=}")";;
"--mandir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_MANDIR=$(quote "$2")"; shift;;
"--docdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DOCDIR=$(quote "${1#*=}")";;
"--docdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DOCDIR=$(quote "$2")"; shift;;
"CC="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_C_COMPILER=$(quote "${1#*=}")";;
"CXX="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_CXX_COMPILER=$(quote "${1#*=}")";;
"CFLAGS="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_C_FLAGS=$(quote "${1#*=}")";;
"CXXFLAGS="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_CXX_FLAGS=$(quote "${1#*=}")";;
"LDFLAGS="*)
LDFLAGS="$LDFLAGS ${1#*=}";;
"--help")
print_help;;
"-h")
print_help;;
# This flag is the only one which may be a bit surprising to
# people. Autotools always builds with debugging symbols enabled
# (AFAIK), but for cmake you have to do -DCMAKE_BUILD_TYPE=Debug.
# Unfortunately this can change other things as well, so although
# I realize there is no --disable-debug flag I thought it would be
# prudent to support one here.
"--disable-debug")
BUILD_TYPE="Release";;
"--pass-thru")
shift;
while [ $# != 0 ]; do
CMAKE_ARGS="$CMAKE_ARGS $(quote "${1}")";
shift;
done;;
"--enable-"*)
set_config_var "$1"
;;
"--disable-"*)
set_config_var "$1"
;;
"--with-"*)
name=$(echo "${1#--with-}" | awk '{split($1,v,"="); print v[1]}')
case "${1}" in
"--with-${name}="*)
set_config_var "--with-${name}" "${1#--with-${name}=}";;
"--with-${name}")
set_config_var "$1" "$2";
shift;;
esac
;;
*)
echo "$0: error: unrecognized option: \`$1'" >&2
echo "Try \`$0 --help' for more information" >&2
exit -1
esac;
shift
done
if [ "x${LIBDIR}" = "x" ]; then
LIBDIR="${PREFIX}/lib"
fi
# Unlike CFLAGS/CXXFLAGS/CC/CXX, LDFLAGS isn't handled by CMake, so we
# need to parse it here.
if [ "x${LDFLAGS}" != "x" ]; then
for varname in EXE MODULE SHARED STATIC; do
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_${varname}_LINKER_FLAGS=$(quote "$LDFLAGS")"
done
fi
eval "cmake ${TOP_SRCDIR} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_INSTALL_LIBDIR=${LIBDIR} ${CMAKE_ARGS}"

View File

@ -0,0 +1,6 @@
#!/bin/bash
ENABLE_VARS="kde-tray|ON|KDE_TRAY"
ENABLE_KDE_TRAY_DOC="build with kde tray and appindicator instead of gtk3 tray"
DISABLE_VARS="aur|ON|DISABLE_AUR"
DISABLE_DISABLE_AUR_DOC="disable the AUR in pamac"

17
cmake/CMakeLists.txt Normal file
View File

@ -0,0 +1,17 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION
share/autovala/cmake
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION
share/autovala/cmake
)
ENDIF()

80
cmake/FindVala.cmake Normal file
View File

@ -0,0 +1,80 @@
##
# Copyright 2009-2010 Jakob Westhoff, 2014 Raster Software Vigo
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
##
# Find module for the Vala compiler (valac)
#
# This module determines wheter a Vala compiler is installed on the current
# system and where its executable is.
#
# Call the module using "find_package(Vala) from within your CMakeLists.txt.
#
# The following variables will be set after an invocation:
#
# VALA_FOUND Whether the vala compiler has been found or not
# VALA_EXECUTABLE Full path to the valac executable if it has been found
# VALA_VERSION Version number of the available valac
##
# Search for the valac executable in the usual system paths.
find_program(VALA_EXECUTABLE NAMES valac)
if (VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")
# if valac executable is not found, it can be that valac is not installed, or
# that the OS is source-based (like gentoo), and doesn't do a link from
# valac-X.YY to valac. In that case, search for the specific valac binary after
if (NOT VALA_DEFERRING_COMPILER_SEARCH)
message (STATUS "VALAC not found. Deferring compiler search")
endif(NOT VALA_DEFERRING_COMPILER_SEARCH)
set(VALA_DEFERRING_COMPILER_SEARCH TRUE)
unset(VALA_EXECUTABLE)
unset(VALA_VERSION)
else(VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
# VALA_EXECUTABLE is set)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Vala DEFAULT_MSG VALA_EXECUTABLE)
mark_as_advanced(VALA_EXECUTABLE)
# Determine the valac version
if(VALA_FOUND)
execute_process(COMMAND ${VALA_EXECUTABLE} "--version" OUTPUT_VARIABLE "VALA_VERSION")
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
endif(VALA_FOUND)
endif(VALA_EXECUTABLE STREQUAL "VALA_EXECUTABLE-NOTFOUND")

20
cmake/FindValadoc.cmake Normal file
View File

@ -0,0 +1,20 @@
# Search for the valadocc executable in the usual system paths.
find_program(VALADOC_EXECUTABLE NAMES valadoc)
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call.
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka.
# VALA_EXECUTABLE is set)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Valadoc DEFAULT_MSG VALADOC_EXECUTABLE)
mark_as_advanced(VALADOC_EXECUTABLE)
# Determine the valac version
if(VALA_FOUND)
execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
OUTPUT_VARIABLE "VALA_VERSION")
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
endif(VALA_FOUND)

View File

@ -0,0 +1,34 @@
macro(add_target_gir TARGET_NAME GIR_NAME HEADER CFLAGS GRANITE_VERSION)
set(PACKAGES "")
foreach(PKG ${ARGN})
set(PACKAGES ${PACKAGES} --include=${PKG})
endforeach()
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\")
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME}
--quiet
--library ${TARGET_NAME} ${PACKAGES}
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir
-L${CMAKE_CURRENT_BINARY_DIR}
--nsversion=${GRANITE_VERSION} ${HEADER})")
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/)
endmacro()
macro(add_target_gir_with_executable TARGET_NAME EXE_NAME GIR_NAME HEADER EXE_HEADER CFLAGS GRANITE_VERSION)
set(PACKAGES "")
foreach(PKG ${ARGN})
set(PACKAGES ${PACKAGES} --include=${PKG})
endforeach()
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\")
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME}
--quiet
--library ${TARGET_NAME} --program ${EXE_NAME} ${PACKAGES}
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir
-L${CMAKE_CURRENT_BINARY_DIR}
-I${CMAKE_CURRENT_BINARY_DIR}
--nsversion=${GRANITE_VERSION} ${HEADER} ${EXE_HEADER})")
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/)
endmacro()

42
cmake/GSettings.cmake Normal file
View File

@ -0,0 +1,42 @@
# GSettings.cmake, CMake macros written for Marlin, feel free to re-use them.
option (GSETTINGS_LOCALINSTALL "Install GSettings Schemas locally instead of to the GLib prefix" ON)
option (GSETTINGS_COMPILE "Compile GSettings Schemas after installation" ${GSETTINGS_LOCALINSTALL})
if(GSETTINGS_LOCALINSTALL)
message(STATUS "GSettings schemas will be installed locally.")
endif()
if(GSETTINGS_COMPILE)
message(STATUS "GSettings shemas will be compiled.")
endif()
macro(add_schema SCHEMA_NAME)
set(PKG_CONFIG_EXECUTABLE pkg-config)
# Have an option to not install the schema into where GLib is
if (GSETTINGS_LOCALINSTALL)
SET (GSETTINGS_DIR "${CMAKE_INSTALL_PREFIX}/share/glib-2.0/schemas/")
else (GSETTINGS_LOCALINSTALL)
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} glib-2.0 --variable prefix OUTPUT_VARIABLE _glib_prefix OUTPUT_STRIP_TRAILING_WHITESPACE)
SET (GSETTINGS_DIR "${_glib_prefix}/share/glib-2.0/schemas/")
endif (GSETTINGS_LOCALINSTALL)
# Run the validator and error if it fails
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE _glib_comple_schemas OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND ${_glib_comple_schemas} --dry-run --schema-file=${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} ERROR_VARIABLE _schemas_invalid OUTPUT_STRIP_TRAILING_WHITESPACE)
if (_schemas_invalid)
message (SEND_ERROR "Schema validation error: ${_schemas_invalid}")
endif (_schemas_invalid)
# Actually install and recomple schemas
message (STATUS "GSettings schemas will be installed into ${GSETTINGS_DIR}")
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} DESTINATION ${GSETTINGS_DIR} OPTIONAL)
if (GSETTINGS_COMPILE)
install (CODE "message (STATUS \"Compiling GSettings schemas\")")
install (CODE "execute_process (COMMAND ${_glib_comple_schemas} ${GSETTINGS_DIR})")
endif ()
endmacro()

View File

@ -0,0 +1,28 @@
##
# This module with create symlinks during install
##
macro(install_symlink _filepath _sympath)
get_filename_component(_symname ${_sympath} NAME)
get_filename_component(_installdir ${_sympath} PATH)
if (BINARY_PACKAGING_MODE)
execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink
${_filepath}
${CMAKE_CURRENT_BINARY_DIR}/${_symname})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_symname}
DESTINATION ${_installdir})
else ()
install(CODE "
if (\"\$ENV{DESTDIR}\" STREQUAL \"\")
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
${_filepath}
${_installdir}/${_symname})
else ()
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
${_filepath}
\$ENV{DESTDIR}/${_installdir}/${_symname})
endif ()
")
endif ()
endmacro(install_symlink)

286
cmake/Makefile Normal file
View File

@ -0,0 +1,286 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canoncical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/mefrio/Scrivania/cmake
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/mefrio/Scrivania/cmake/cmake
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
/usr/bin/cmake -i .
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# Special rule for the target install/local
install/local: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: install/local
.PHONY : install/local/fast
# Special rule for the target install/strip
install/strip: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: install/strip
.PHONY : install/strip/fast
# Special rule for the target list_install_components
list_install_components:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles /home/mefrio/Scrivania/cmake/cmake/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/mefrio/Scrivania/cmake/cmake/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named scratch
# Build rule for target.
scratch: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 scratch
.PHONY : scratch
# fast build rule for target.
scratch/fast:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/build
.PHONY : scratch/fast
src/entry.o: src/entry.c.o
.PHONY : src/entry.o
# target to build an object file
src/entry.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.o
.PHONY : src/entry.c.o
src/entry.i: src/entry.c.i
.PHONY : src/entry.i
# target to preprocess a source file
src/entry.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.i
.PHONY : src/entry.c.i
src/entry.s: src/entry.c.s
.PHONY : src/entry.s
# target to generate assembly for a file
src/entry.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/entry.c.s
.PHONY : src/entry.c.s
src/main_window.o: src/main_window.c.o
.PHONY : src/main_window.o
# target to build an object file
src/main_window.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.o
.PHONY : src/main_window.c.o
src/main_window.i: src/main_window.c.i
.PHONY : src/main_window.i
# target to preprocess a source file
src/main_window.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.i
.PHONY : src/main_window.c.i
src/main_window.s: src/main_window.c.s
.PHONY : src/main_window.s
# target to generate assembly for a file
src/main_window.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/main_window.c.s
.PHONY : src/main_window.c.s
src/menu.o: src/menu.c.o
.PHONY : src/menu.o
# target to build an object file
src/menu.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.o
.PHONY : src/menu.c.o
src/menu.i: src/menu.c.i
.PHONY : src/menu.i
# target to preprocess a source file
src/menu.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.i
.PHONY : src/menu.c.i
src/menu.s: src/menu.c.s
.PHONY : src/menu.s
# target to generate assembly for a file
src/menu.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/menu.c.s
.PHONY : src/menu.c.s
src/notebook.o: src/notebook.c.o
.PHONY : src/notebook.o
# target to build an object file
src/notebook.c.o:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.o
.PHONY : src/notebook.c.o
src/notebook.i: src/notebook.c.i
.PHONY : src/notebook.i
# target to preprocess a source file
src/notebook.c.i:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.i
.PHONY : src/notebook.c.i
src/notebook.s: src/notebook.c.s
.PHONY : src/notebook.s
# target to generate assembly for a file
src/notebook.c.s:
$(MAKE) -f CMakeFiles/scratch.dir/build.make CMakeFiles/scratch.dir/src/notebook.c.s
.PHONY : src/notebook.c.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... install"
@echo "... install/local"
@echo "... install/strip"
@echo "... list_install_components"
@echo "... rebuild_cache"
@echo "... scratch"
@echo "... src/entry.o"
@echo "... src/entry.i"
@echo "... src/entry.s"
@echo "... src/main_window.o"
@echo "... src/main_window.i"
@echo "... src/main_window.s"
@echo "... src/menu.o"
@echo "... src/menu.i"
@echo "... src/menu.s"
@echo "... src/notebook.o"
@echo "... src/notebook.i"
@echo "... src/notebook.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -0,0 +1,36 @@
##
# This is a helper Macro to parse optional arguments in Macros/Functions
# It has been taken from the public CMake wiki.
# See http://www.cmake.org/Wiki/CMakeMacroParseArguments for documentation and
# licensing.
##
macro(parse_arguments prefix arg_names option_names)
set(DEFAULT_ARGS)
foreach(arg_name ${arg_names})
set(${prefix}_${arg_name})
endforeach(arg_name)
foreach(option ${option_names})
set(${prefix}_${option} FALSE)
endforeach(option)
set(current_arg_name DEFAULT_ARGS)
set(current_arg_list)
foreach(arg ${ARGN})
set(larg_names ${arg_names})
list(FIND larg_names "${arg}" is_arg_name)
if(is_arg_name GREATER -1)
set(${prefix}_${current_arg_name} ${current_arg_list})
set(current_arg_name ${arg})
set(current_arg_list)
else(is_arg_name GREATER -1)
set(loption_names ${option_names})
list(FIND loption_names "${arg}" is_option)
if(is_option GREATER -1)
set(${prefix}_${arg} TRUE)
else(is_option GREATER -1)
set(current_arg_list ${current_arg_list} ${arg})
endif(is_option GREATER -1)
endif(is_arg_name GREATER -1)
endforeach(arg)
set(${prefix}_${current_arg_name} ${current_arg_list})
endmacro(parse_arguments)

10
cmake/README Normal file
View File

@ -0,0 +1,10 @@
Elementary CMake modules
This is a set of CMake modules: Translations, GSettings, and Vala modules.
For all the Vala related modules see README.Vala.rst:
- ParseArguments.cmake
- ValaPrecompile.cmake
- ValaVersion.cmake
- FindVala.cmake

173
cmake/README.Vala.rst Normal file
View File

@ -0,0 +1,173 @@
==========
Vala CMake
==========
:Author:
Jakob Westhoff
:Version:
Draft
Overview
========
Vala CMake is a collection of macros for the CMake_ build system to allow the
creation and management of projects developed using the Vala_ programming
language or its "Genie" flavor (less tested).
Installation
============
To use the Vala macros in your own project you need to copy the macro files to
an arbitrary folder in your projects directory and reference them in your
``CMakeLists.txt`` file.
Assuming the macros are stored under ``cmake/vala`` in your projects folder you
need to add the following information to your base ``CMakeLists.txt``::
list(APPEND CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake/vala
)
After the new module path as been added you can simply include the provided
modules or use the provided find routines.
Finding Vala
============
The find module for vala works like any other Find module in CMake.
You can use it by simply calling the usual ``find_package`` function. Default
parameters like ``REQUIRED`` and ``QUIETLY`` are supported.
::
find_package(Vala REQUIRED)
After a successful call to the find_package function the following variables
will be set:
VALA_FOUND
Whether the vala compiler has been found or not
VALA_EXECUTABLE
Full path to the valac executable if it has been found
VALA_VERSION
Version number of the available valac
Precompiling Vala sources
=========================
CMake is mainly supposed to handle c or c++ based projects. Luckily every vala
program is translated into plain c code using the vala compiler, followed by
normal compilation of the generated c program using gcc.
The macro ``vala_precompile`` uses that fact to create c files from your .vala
sources for further CMake processing.
The first parameter provided is a variable, which will be filled with a list of
c files outputted by the vala compiler. This list can than be used in
conjunction with functions like ``add_executable`` or others to create the
necessary compile rules with CMake.
The initial variable is followed by a list of .vala files to be compiled.
Please take care to add every vala file belonging to the currently compiled
project or library as Vala will otherwise not be able to resolve all
dependencies.
The following sections may be specified afterwards to provide certain options
to the vala compiler:
PACKAGES
A list of vala packages/libraries to be used during the compile cycle. The
package names are exactly the same, as they would be passed to the valac
"--pkg=" option.
OPTIONS
A list of optional options to be passed to the valac executable. This can be
used to pass "--thread" for example to enable multi-threading support.
DIRECTORY
Specify the directory where the output source files will be stored. If
ommitted, the source files will be stored in CMAKE_CURRENT_BINARY_DIR.
CUSTOM_VAPIS
A list of custom vapi files to be included for compilation. This can be
useful to include freshly created vala libraries without having to install
them in the system.
GENERATE_VAPI
Pass all the needed flags to the compiler to create an internal vapi for
the compiled library. The provided name will be used for this and a
<provided_name>.vapi file will be created.
GENERATE_HEADER
Let the compiler generate a header file for the compiled code. There will
be a header file as well as an internal header file being generated called
<provided_name>.h and <provided_name>_internal.h
The following call is a simple example to the vala_precompile macro showing an
example to every of the optional sections::
vala_precompile(VALA_C
source1.vala
source2.vala
source3.vala
PACKAGES
gtk+-2.0
gio-1.0
posix
OPTIONS
--thread
CUSTOM_VAPIS
some_vapi.vapi
GENERATE_VAPI
myvapi
GENERATE_HEADER
myheader
)
Most important is the variable VALA_C which will contain all the generated c
file names after the call. The easiest way to use this information is to tell
CMake to create an executable out of it.
::
add_executable(myexecutable ${VALA_C})
Further reading
===============
The `Pdf Presenter Console`__ , which is a vala based project of mine, makes
heavy usage of the here described macros. To look at a real world example of
these macros the mentioned project is the right place to take a look. The svn
trunk of it can be found at::
svn://pureenergy.cc/pdf_presenter_console/trunk
__ http://westhoffswelt.de/projects/pdf_presenter_console.html
Acknowledgments
===============
Thanks go out to Florian Sowade, a fellow local PHP-Usergroupie, who helped me
a lot with the initial version of this macros and always answered my mostly
dumb CMake questions.
.. _CMake: http://cmake.org
.. _Vala: http://live.gnome.org/Vala
.. _Genie: http://live.gnome.org/Genie
..
Local Variables:
mode: rst
fill-column: 79
End:
vim: et syn=rst tw=79

5
cmake/Tests.cmake Normal file
View File

@ -0,0 +1,5 @@
# Test macros for Marlin, feel free to re-use them.
macro(add_test_executable EXE_NAME)
add_test(${EXE_NAME} gtester ${CMAKE_CURRENT_BINARY_DIR}/${EXE_NAME})
endmacro()

66
cmake/Translations.cmake Normal file
View File

@ -0,0 +1,66 @@
# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
macro(add_translations_directory NLS_PACKAGE)
add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
find_program (MSGFMT_EXECUTABLE msgfmt)
file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
foreach (PO_INPUT ${PO_FILES})
get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
install (FILES ${MO_OUTPUT} DESTINATION
share/locale/${PO_INPUT_BASE}/LC_MESSAGES
RENAME ${NLS_PACKAGE}.mo)
endforeach (PO_INPUT ${PO_FILES})
endmacro(add_translations_directory)
macro(add_translations_catalog NLS_PACKAGE)
add_custom_target (pot COMMENT “Building translation catalog.”)
find_program (XGETTEXT_EXECUTABLE xgettext)
set(C_SOURCE "")
set(VALA_SOURCE "")
set(GLADE_SOURCE "")
foreach(FILES_INPUT ${ARGN})
set(BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT})
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.c)
foreach(C_FILE ${SOURCE_FILES})
set(C_SOURCE ${C_SOURCE} ${C_FILE})
endforeach()
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.vala)
foreach(VALA_C_FILE ${SOURCE_FILES})
set(VALA_SOURCE ${VALA_SOURCE} ${VALA_C_FILE})
endforeach()
file (GLOB_RECURSE SOURCE_FILES ${BASE_DIRECTORY}/*.ui)
foreach(GLADE_C_FILE ${SOURCE_FILES})
set(GLADE_SOURCE ${GLADE_SOURCE} ${GLADE_C_FILE})
endforeach()
endforeach()
set(BASE_XGETTEXT_COMMAND
${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE}
-o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
--keyword="_" --keyword="N_" --from-code=UTF-8)
set(CONTINUE_FLAG "")
IF(NOT "${C_SOURCE}" STREQUAL "")
add_custom_command(TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${C_SOURCE})
set(CONTINUE_FLAG "-j")
ENDIF()
IF(NOT "${VALA_SOURCE}" STREQUAL "")
add_custom_command(TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LC\# ${VALA_SOURCE})
set(CONTINUE_FLAG "-j")
ENDIF()
IF(NOT "${GLADE_SOURCE}" STREQUAL "")
add_custom_command (TARGET pot COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LGlade ${GLADE_SOURCE})
ENDIF()
endmacro()

243
cmake/ValaPrecompile.cmake Normal file
View File

@ -0,0 +1,243 @@
##
# Copyright 2009-2010 Jakob Westhoff. All rights reserved.
# Copyright 2012 elementary.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
include(ParseArguments)
find_package(Vala REQUIRED)
##
# Compile vala files to their c equivalents for further processing.
#
# The "vala_precompile" macro takes care of calling the valac executable on the
# given source to produce c files which can then be processed further using
# default cmake functions.
#
# The first parameter provided is a variable, which will be filled with a list
# of c files outputted by the vala compiler. This list can than be used in
# conjuction with functions like "add_executable" or others to create the
# neccessary compile rules with CMake.
#
# The initial variable is followed by a list of .vala files to be compiled.
# Please take care to add every vala file belonging to the currently compiled
# project or library as Vala will otherwise not be able to resolve all
# dependencies.
#
# The following sections may be specified afterwards to provide certain options
# to the vala compiler:
#
# PACKAGES
# A list of vala packages/libraries to be used during the compile cycle. The
# package names are exactly the same, as they would be passed to the valac
# "--pkg=" option.
#
# OPTIONS
# A list of optional options to be passed to the valac executable. This can be
# used to pass "--thread" for example to enable multi-threading support.
#
# CUSTOM_VAPIS
# A list of custom vapi files to be included for compilation. This can be
# useful to include freshly created vala libraries without having to install
# them in the system.
#
# GENERATE_VAPI
# Pass all the needed flags to the compiler to create an internal vapi for
# the compiled library. The provided name will be used for this and a
# <provided_name>.vapi file will be created.
#
# GENERATE_HEADER
# Let the compiler generate a header file for the compiled code. There will
# be a header file as well as an internal header file being generated called
# <provided_name>.h and <provided_name>_internal.h
#
# GENERATE_GIR
# Have the compiler generate a GObject-Introspection repository file with
# name: <provided_name>.gir. This can be later used to create a binary typelib
# using the GI compiler.
#
# GENERATE_SYMBOLS
# Output a <provided_name>.symbols file containing all the exported symbols.
#
# The following call is a simple example to the vala_precompile macro showing
# an example to every of the optional sections:
#
# vala_precompile(VALA_C mytargetname
# source1.vala
# source2.vala
# source3.vala
# PACKAGES
# gtk+-2.0
# gio-1.0
# posix
# DIRECTORY
# gen
# OPTIONS
# --thread
# CUSTOM_VAPIS
# some_vapi.vapi
# GENERATE_VAPI
# myvapi
# GENERATE_HEADER
# myheader
# GENERATE_GIR
# mygir
# GENERATE_SYMBOLS
# mysymbols
# )
#
# Most important is the variable VALA_C which will contain all the generated c
# file names after the call.
##
macro(vala_precompile output target_name)
parse_arguments(ARGS "TARGET;PACKAGES;OPTIONS;DIRECTORY;GENERATE_GIR;GENERATE_SYMBOLS;GENERATE_HEADER;GENERATE_VAPI;CUSTOM_VAPIS" "" ${ARGN})
if(ARGS_DIRECTORY)
set(DIRECTORY ${ARGS_DIRECTORY})
else(ARGS_DIRECTORY)
set(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif(ARGS_DIRECTORY)
include_directories(${DIRECTORY})
set(vala_pkg_opts "")
foreach(pkg ${ARGS_PACKAGES})
list(APPEND vala_pkg_opts "--pkg=${pkg}")
endforeach(pkg ${ARGS_PACKAGES})
set(in_files "")
set(out_files "")
set(out_files_display "")
set(${output} "")
foreach(src ${ARGS_DEFAULT_ARGS})
string(REGEX MATCH "^([a-zA-Z]:)?/" IS_MATCHED ${src})
if(${IS_MATCHED} MATCHES "/")
set(src_file_path ${src})
else()
set(src_file_path ${CMAKE_CURRENT_SOURCE_DIR}/${src})
endif()
list(APPEND in_files ${src_file_path})
string(REPLACE ".vala" ".c" src ${src})
string(REPLACE ".gs" ".c" src ${src})
if(${IS_MATCHED} MATCHES "/")
get_filename_component(VALA_FILE_NAME ${src} NAME)
set(out_file "${DIRECTORY}/${VALA_FILE_NAME}")
list(APPEND out_files "${DIRECTORY}/${VALA_FILE_NAME}")
else()
set(out_file "${DIRECTORY}/${src}")
list(APPEND out_files "${DIRECTORY}/${src}")
endif()
list(APPEND ${output} ${out_file})
list(APPEND out_files_display "${src}")
endforeach(src ${ARGS_DEFAULT_ARGS})
set(custom_vapi_arguments "")
if(ARGS_CUSTOM_VAPIS)
foreach(vapi ${ARGS_CUSTOM_VAPIS})
if(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
list(APPEND custom_vapi_arguments ${vapi})
else (${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
list(APPEND custom_vapi_arguments ${CMAKE_CURRENT_SOURCE_DIR}/${vapi})
endif(${vapi} MATCHES ${CMAKE_SOURCE_DIR} OR ${vapi} MATCHES ${CMAKE_BINARY_DIR})
endforeach(vapi ${ARGS_CUSTOM_VAPIS})
endif(ARGS_CUSTOM_VAPIS)
set(vapi_arguments "")
if(ARGS_GENERATE_VAPI)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_VAPI}.vapi")
list(APPEND out_files_display "${ARGS_GENERATE_VAPI}.vapi")
set(vapi_arguments "--library=${ARGS_GENERATE_VAPI}" "--vapi=${ARGS_GENERATE_VAPI}.vapi")
# Header and internal header is needed to generate internal vapi
if (NOT ARGS_GENERATE_HEADER)
set(ARGS_GENERATE_HEADER ${ARGS_GENERATE_VAPI})
endif(NOT ARGS_GENERATE_HEADER)
endif(ARGS_GENERATE_VAPI)
set(header_arguments "")
if(ARGS_GENERATE_HEADER)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
list(APPEND out_files_display "${ARGS_GENERATE_HEADER}.h")
list(APPEND header_arguments "--header=${ARGS_GENERATE_HEADER}.h")
endif(ARGS_GENERATE_HEADER)
set(gir_arguments "")
if(ARGS_GENERATE_GIR)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_GIR}.gir")
list(APPEND out_files_display "${ARGS_GENERATE_GIR}.gir")
set(gir_arguments "--gir=${ARGS_GENERATE_GIR}.gir")
endif(ARGS_GENERATE_GIR)
set(symbols_arguments "")
if(ARGS_GENERATE_SYMBOLS)
list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_SYMBOLS}.symbols")
list(APPEND out_files_display "${ARGS_GENERATE_SYMBOLS}.symbols")
set(symbols_arguments "--symbols=${ARGS_GENERATE_SYMBOLS}.symbols")
endif(ARGS_GENERATE_SYMBOLS)
set(os_defines "")
if(WIN32)
list(APPEND os_defines "-D" "\"G_OS_WIN32\"")
endif(WIN32)
# Workaround for a bug that would make valac run twice. This file is written
# after the vala compiler generates C source code.
set (extra_name ${extra_name}_ )
set(OUTPUT_STAMP ${CMAKE_CURRENT_BINARY_DIR}/${target_name}${extra_name}valac.stamp)
add_custom_command(
OUTPUT
${OUTPUT_STAMP}
COMMAND
${VALA_EXECUTABLE}
ARGS
"-C"
${header_arguments}
${vapi_arguments}
${gir_arguments}
${symbols_arguments}
"-b" ${CMAKE_CURRENT_SOURCE_DIR}
"-d" ${DIRECTORY}
${os_defines}
${vala_pkg_opts}
${ARGS_OPTIONS}
${in_files}
${custom_vapi_arguments}
COMMAND
touch
ARGS
${OUTPUT_STAMP}
DEPENDS
${in_files}
${ARGS_CUSTOM_VAPIS}
COMMENT
"Generating ${out_files_display}"
)
# This command will be run twice for some reason (pass a non-empty string to COMMENT
# in order to see it). Since valac is not executed from here, this won't be a problem.
add_custom_command(OUTPUT ${out_files} DEPENDS ${OUTPUT_STAMP} COMMENT "")
endmacro(vala_precompile)

153
cmake/ValaVersion.cmake Normal file
View File

@ -0,0 +1,153 @@
##
# Copyright (C) 2014 Raster Software Vigo
# Autovala 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.
#
# Autovala 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 this program. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright (C) 2013, Valama development team
#
# Copyright 2009-2010 Jakob Westhoff All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies,
# either expressed or implied, of Jakob Westhoff
##
include(ParseArguments)
find_package(Vala REQUIRED)
##
# Ensure a certain valac version is available
#
# The initial argument is the version to check for
#
# It may be followed by a optional parameter to specifiy a version range. The
# following options are valid:
#
# EXACT
# Vala needs to be available in the exact version given
#
# MINIMUM
# The provided version is the minimum version. Therefore Vala needs to be
# available in the given version or any higher version
#
# MAXIMUM
# The provided version is the maximum. Therefore Vala needs to be available
# in the given version or any version older than this
#
# If no option is specified the version will be treated as a minimal version.
##
macro(ensure_vala_version ensure_version)
if (USE_VALA_BINARY)
message(STATUS "Forced use of vala binary ${USE_VALA_BINARY}")
set(VALA_EXECUTABLE ${USE_VALA_BINARY})
else (USE_VALA_BINARY)
message(STATUS "checking for Vala version of valac-${ensure_version}")
unset(version_accepted)
execute_process(COMMAND "valac-${ensure_version}" "--version"
OUTPUT_VARIABLE "VALA_VERSION" OUTPUT_STRIP_TRAILING_WHITESPACE)
if (NOT VALA_VERSION)
find_program(VALA_EXECUTABLE "valac")
# If the specific version asked for this project is not found,
# try to use the one pointed by the valac link
parse_arguments(ARGS "" "MINIMUM;MAXIMUM;EXACT" ${ARGN})
set(compare_message "")
set(error_message "")
if(ARGS_MINIMUM)
set(compare_message "a minimum ")
set(error_message "or greater ")
elseif(ARGS_MAXIMUM)
set(compare_message "a maximum ")
set(error_message "or less ")
endif(ARGS_MINIMUM)
message(STATUS "checking for ${compare_message}Vala version of ${ensure_version}" )
execute_process(COMMAND ${VALA_EXECUTABLE} "--version"
OUTPUT_VARIABLE "VALA_VERSION" OUTPUT_STRIP_TRAILING_WHITESPACE)
else(NOT VALA_VERSION)
set(VALA_EXECUTABLE "valac-${ensure_version}")
endif(NOT VALA_VERSION)
# this code allows to identify development versions as the right version
# e.g. 0.19.1 -> 0.20 ; 0.20.1 -> 0.20 ;
# But this code seems to not be fine 0.24.0.2-2235 -> 0.26
# Thanks to Yannick Inizan
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
string(STRIP ${VALA_VERSION} "VALA_VERSION")
string(REPLACE "." ";" VALA_LIST "${VALA_VERSION}")
list(GET VALA_LIST 0 maj_ver)
list(GET VALA_LIST 1 min_ver)
list(GET VALA_LIST 2 rev_ver)
math(EXPR is_odd "${min_ver} % 2")
list(LENGTH VALA_LIST len)
#if((${is_odd} EQUAL 1))
# math(EXPR min_ver "${min_ver} + 1")
#elseif(len GREATER 3)
# math(EXPR min_ver "${min_ver} + 2")
#endif()
set(VALA_SVERSION "${maj_ver}.${min_ver}" CACHE INTERNAL "")
# MINIMUM is the default if no option is specified
if(ARGS_EXACT)
if(${VALA_SVERSION} VERSION_EQUAL ${ensure_version} )
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
elseif(ARGS_MAXIMUM)
if(${VALA_SVERSION} VERSION_LESS ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_LESS ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
else(ARGS_MAXIMUM)
if(${VALA_SVERSION} VERSION_GREATER ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
set(version_accepted TRUE)
endif(${VALA_SVERSION} VERSION_GREATER ${ensure_version} OR ${VALA_SVERSION} VERSION_EQUAL ${ensure_version})
endif(ARGS_EXACT)
if (NOT version_accepted)
message(FATAL_ERROR
"Vala version ${ensure_version} ${error_message}is required."
)
endif(NOT version_accepted)
message(STATUS
" found Vala, version ${VALA_SVERSION}"
)
endif(USE_VALA_BINARY)
endmacro(ensure_vala_version)

38
cmake/Valadoc.cmake Normal file
View File

@ -0,0 +1,38 @@
include(ParseArguments)
find_package(Valadoc REQUIRED)
macro(valadoc target outdir)
parse_arguments(ARGS "PACKAGES;OPTIONS;CUSTOM_VAPIS" "" ${ARGN})
set(vala_pkg_opts "")
foreach(pkg ${ARGS_PACKAGES})
list(APPEND vala_pkg_opts "--pkg=${pkg}")
endforeach(pkg ${ARGS_PACKAGES})
set(vapi_dir_opts "")
foreach(src ${ARGS_CUSTOM_VAPIS})
get_filename_component(pkg ${src} NAME_WE)
list(APPEND vala_pkg_opts "--pkg=${pkg}")
get_filename_component(path ${src} PATH)
list(APPEND vapi_dir_opts "--vapidir=${path}")
endforeach(src ${ARGS_DEFAULT_ARGS})
list(REMOVE_DUPLICATES vapi_dir_opts)
add_custom_command(TARGET ${target}
COMMAND
${VALADOC_EXECUTABLE}
ARGS
"--force"
"-b" ${CMAKE_CURRENT_SOURCE_DIR}
"-o" ${outdir}
"--package-name=${CMAKE_PROJECT_NAME}"
"--package-version=${PROJECT_VERSION}"
${vala_pkg_opts}
${vapi_dir_opts}
${ARGS_OPTIONS}
${in_files}
DEPENDS
${in_files}
${ARGS_CUSTOM_VAPIS}
)
endmacro(valadoc)

314
configure vendored Executable file
View File

@ -0,0 +1,314 @@
#!/bin/sh
# Autotools-style (./configure) wrapper for CMake
# <https://github.com/nemequ/configure-cmake>
#
# *** IMPORTANT ***
#
# You must include the GNUInstallDirs module (which comes with
# CMake) in your project. Just put "include (GNUInstallDirs)" in
# you CMakeLists.txt and you should be good.
#
# This script was originally written for Squash
# <https://quixdb.github.io/squash/> by Evan Nemerson
# <evan@nemerson.com>, but has been spun off into a separate
# repository. Please feel free to copy it into your own repository,
# though I would appreciate it if you would post improvements, bugs,
# feature requests, etc. to the issue tracker at
# <https://github.com/nemequ/configure-cmake/issues>.
#
# To the extent possible under law, the author(s) hereby waive all
# copyright and related or neighboring rights to this work. For
# details, see <https://creativecommons.org/publicdomain/zero/1.0/>
TOP_SRCDIR="$(dirname $0)"
CMAKE_CMD="cmake ${TOP_SRCDIR}"
BUILD_TYPE="Debug"
PREFIX=/usr/local
LIBDIR=
CMAKE_ARGS=
if [ -e "${TOP_SRCDIR}/.configure-custom.sh" ]; then
. "${TOP_SRCDIR}/.configure-custom.sh"
fi
quote() {
echo "$1" | sed -e "s|'|'\\\\''|g; 1s/^/'/; \$s/\$/'/"
}
extract_var_string() {
VAR_NAME=$1
VAR_NAME=$(echo $1 | sed -e 's/[ \t]*$//')
if [ "x$2" != "x" ]; then
VAR_VALUE=$2
else
VAR_VALUE=yes
fi
if [ "x$3" != "x" ]; then
VAR_UC_NAME=$3
else
VAR_UC_NAME=$(echo "$1" | tr '[:lower:]' '[:upper:]' | tr -c '[:alnum:]' '_' | sed 's/_$//g')
fi
}
set_config_var() {
is_with=n
case "$1" in
"--enable-"*)
name="${1#--enable-}"
cfg="${ENABLE_VARS}"
;;
"--disable-"*)
name="${1#--disable-}";
cfg="${DISABLE_VARS}";
;;
"--with-"*)
# IFS="=" read -ra WITHARGS <<< "${1}"
name="${1#--with-}"
cfg="${WITH_VARS}"
is_with=y
;;
esac
found=n
for varstring in $cfg; do
extract_var_string $(echo "${varstring}" | tr '|' ' ')
if [ "x$VAR_NAME" = "x$name" ]; then
found=y
break;
fi
done
if [ "$found" = "y" ]; then
if [ "x$is_with" = "xy" ]; then
CMAKE_ARGS="$CMAKE_ARGS -D${VAR_UC_NAME}=$(quote "$2")"
else
CMAKE_ARGS="$CMAKE_ARGS -D${VAR_UC_NAME}=$(quote "${VAR_VALUE}")"
fi
else
echo "Unknown parameter: ${1}"
exit 1
fi
}
prefix_to_offset() {
expr $(echo "${1}" | awk '{ print length }') + 1
}
print_help() {
cat <<EOF >&2
-h, --help display this help and exit
--disable-debug disable debugging mode
--pass-thru pass remaining arguments through to CMake
--prefix=PREFIX install architecture-independent files in PREFIX
[$PREFIX]
--bindir=DIR user executables [PREFIX/bin]
--sbindir=DIR system admin executables [PREFIX/sbin]
--libexecdir=DIR program executables [PREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [PREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PROJECT_NAME]
EOF
first=y
for varstring in ${ENABLE_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="ENABLE_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
if [ "x${docstring}" = "x" ]; then
printf " --enable-%-14s enable %s support\n" "${VAR_NAME}" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --enable-%-14s %s\n" "${VAR_NAME}" "$docstring"
fi
done
first=y
for varstring in ${DISABLE_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="DISABLE_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
if [ "x${docstring}" = "x" ]; then
printf " --disable-%-13s disable %s support\n" "${VAR_NAME}" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --disable-%-13s %s\n" "${VAR_NAME}" "$docstring"
fi
done
first=y
for varstring in ${WITH_VARS}; do
if [ $first = 'y' ]; then
echo ""
first=n
fi
extract_var_string $(echo "${varstring}" | tr '|' ' ')
var_doc_name="WITH_${VAR_UC_NAME}_DOC"
eval "docstring=\$$var_doc_name"
paraminfo="${VAR_NAME}=${VAR_VALUE}"
if [ "x${docstring}" = "x" ]; then
printf " --with-%-16s enable %s support\n" "$paraminfo" "$(echo -n "${VAR_NAME}" | tr '-' ' ')"
else
printf " --with-%-16s %s\n" "$paraminfo" "$docstring"
fi
done
exit 0
}
while [ $# != 0 ]; do
case "$1" in
"--prefix="*)
PREFIX="${1#*=}";;
"--prefix")
PREFIX="${2}"; shift;;
"--bindir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_BINDIR=$(quote "${1#*=}")";;
"--bindir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_BINDIR=$(quote "$2")"; shift;;
"--sbindir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SBINDIR=$(quote "${1#*=}")";;
"--sbindir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SBINDIR=$(quote "$2")"; shift;;
"--libexecdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LIBEXECDIR=$(quote "${1#*=}")";;
"--libexecdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LIBEXECDIR=$(quote "$2")"; shift;;
"--sysconfdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SYSCONFDIR=$(quote "${1#*=}")";;
"--sysconfdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SYSCONFDIR=$(quote "$2")"; shift;;
"--sharedstatedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SHAREDSTATEDIR=$(quote "${1#*=}")";;
"--sharedstatedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_SHAREDSTATEDIR=$(quote "$2")"; shift;;
"--localstatedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALSTATEDIR=$(quote "${1#*=}")";;
"--localstatedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALSTATEDIR=$(quote "$2")"; shift;;
"--libdir="*)
LIBDIR="${1#*=}";;
"--libdir")
LIBDIR="${2}"; shift;;
"--includedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INCLUDEDIR=$(quote "${1#*=}")";;
"--includedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INCLUDEDIR=$(quote "$2")"; shift;;
"--oldincludedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_OLDINCLUDEDIR=$(quote "${1#*=}")";;
"--oldincludedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_OLDINCLUDEDIR=$(quote "$2")"; shift;;
"--datarootdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATAROOTDIR=$(quote "${1#*=}")";;
"--datarootdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATAROOTDIR=$(quote "$2")"; shift;;
"--datadir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATADIR=$(quote "${1#*=}")";;
"--datadir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DATADIR=$(quote "$2")"; shift;;
"--infodir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INFODIR=$(quote "${1#*=}")";;
"--infodir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_INFODIR=$(quote "$2")"; shift;;
"--localedir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALEDIR=$(quote "${1#*=}")";;
"--localedir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_LOCALEDIR=$(quote "$2")"; shift;;
"--mandir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_MANDIR=$(quote "${1#*=}")";;
"--mandir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_MANDIR=$(quote "$2")"; shift;;
"--docdir="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DOCDIR=$(quote "${1#*=}")";;
"--docdir")
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_INSTALL_DOCDIR=$(quote "$2")"; shift;;
"CC="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_C_COMPILER=$(quote "${1#*=}")";;
"CXX="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_CXX_COMPILER=$(quote "${1#*=}")";;
"CFLAGS="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_C_FLAGS=$(quote "${1#*=}")";;
"CXXFLAGS="*)
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_CXX_FLAGS=$(quote "${1#*=}")";;
"LDFLAGS="*)
LDFLAGS="$LDFLAGS ${1#*=}";;
"--help")
print_help;;
"-h")
print_help;;
# This flag is the only one which may be a bit surprising to
# people. Autotools always builds with debugging symbols enabled
# (AFAIK), but for cmake you have to do -DCMAKE_BUILD_TYPE=Debug.
# Unfortunately this can change other things as well, so although
# I realize there is no --disable-debug flag I thought it would be
# prudent to support one here.
"--disable-debug")
BUILD_TYPE="Release";;
"--pass-thru")
shift;
while [ $# != 0 ]; do
CMAKE_ARGS="$CMAKE_ARGS $(quote "${1}")";
shift;
done;;
"--enable-"*)
set_config_var "$1"
;;
"--disable-"*)
set_config_var "$1"
;;
"--with-"*)
name=$(echo "${1#--with-}" | awk '{split($1,v,"="); print v[1]}')
case "${1}" in
"--with-${name}="*)
set_config_var "--with-${name}" "${1#--with-${name}=}";;
"--with-${name}")
set_config_var "$1" "$2";
shift;;
esac
;;
*)
echo "$0: error: unrecognized option: \`$1'" >&2
echo "Try \`$0 --help' for more information" >&2
exit -1
esac;
shift
done
if [ "x${LIBDIR}" = "x" ]; then
LIBDIR="${PREFIX}/lib"
fi
# Unlike CFLAGS/CXXFLAGS/CC/CXX, LDFLAGS isn't handled by CMake, so we
# need to parse it here.
if [ "x${LDFLAGS}" != "x" ]; then
for varname in EXE MODULE SHARED STATIC; do
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_${varname}_LINKER_FLAGS=$(quote "$LDFLAGS")"
done
fi
eval "cmake ${TOP_SRCDIR} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_INSTALL_LIBDIR=${LIBDIR} ${CMAKE_ARGS}"

87
data/CMakeLists.txt Normal file
View File

@ -0,0 +1,87 @@
### CMakeLists automatically created with AutoVala
### Do not edit
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.installer.gresource.xml)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.installer.gresource.xml)
ADD_CUSTOM_COMMAND (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.c
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pamac.installer.gresource.xml ${CMAKE_CURRENT_SOURCE_DIR}/interface/progress_dialog.ui
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.installer.gresource.xml
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.installer.gresource.xml
)
add_custom_target(pamac_installer_gresource_xml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.c)
SET (pamac_installer_gresource_xml_C_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.c PARENT_SCOPE)
SET (pamac_installer_gresource_xml_H_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.installer.gresource.xml.h PARENT_SCOPE)
if (DISABLE_AUR)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager_no_aur.gresource.xml)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager_no_aur.gresource.xml)
ADD_CUSTOM_COMMAND (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.c
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager_no_aur.gresource.xml ${CMAKE_CURRENT_SOURCE_DIR}/interface/manager_window_no_aur.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/history_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-available.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-available-locked.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-install.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-installed-locked.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-installed-updated.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-reinstall.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-remove.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-upgrade.png
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager_no_aur.gresource.xml
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager_no_aur.gresource.xml
)
add_custom_target(pamac_manager_gresource_xml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.c)
SET (pamac_manager_gresource_xml_C_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.c PARENT_SCOPE)
SET (pamac_manager_gresource_xml_H_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager_no_aur.gresource.xml.h PARENT_SCOPE)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction_no_aur.gresource.xml)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction_no_aur.gresource.xml)
ADD_CUSTOM_COMMAND (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.c
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction_no_aur.gresource.xml ${CMAKE_CURRENT_SOURCE_DIR}/interface/progress_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/progress_box.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/choose_provider_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/transaction_sum_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/preferences_dialog_no_aur.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/choose_ignorepkgs_dialog.ui
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction_no_aur.gresource.xml
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction_no_aur.gresource.xml
)
add_custom_target(pamac_transaction_gresource_xml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.c)
SET (pamac_transaction_gresource_xml_C_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.c PARENT_SCOPE)
SET (pamac_transaction_gresource_xml_H_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction_no_aur.gresource.xml.h PARENT_SCOPE)
else ()
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager.gresource.xml)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager.gresource.xml)
ADD_CUSTOM_COMMAND (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.c
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager.gresource.xml ${CMAKE_CURRENT_SOURCE_DIR}/interface/manager_window.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/history_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-available.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-available-locked.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-install.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-installed-locked.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-installed-updated.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-reinstall.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-remove.png ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/package-upgrade.png
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager.gresource.xml
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.manager.gresource.xml
)
add_custom_target(pamac_manager_gresource_xml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.c)
SET (pamac_manager_gresource_xml_C_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.c PARENT_SCOPE)
SET (pamac_manager_gresource_xml_H_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.manager.gresource.xml.h PARENT_SCOPE)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction.gresource.xml)
EXECUTE_PROCESS( COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction.gresource.xml)
ADD_CUSTOM_COMMAND (
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.c
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction.gresource.xml ${CMAKE_CURRENT_SOURCE_DIR}/interface/progress_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/progress_box.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/choose_provider_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/transaction_sum_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/preferences_dialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/interface/choose_ignorepkgs_dialog.ui
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.c ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction.gresource.xml
COMMAND glib-compile-resources --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --generate-header --target=${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.h ${CMAKE_CURRENT_SOURCE_DIR}/pamac.transaction.gresource.xml
)
add_custom_target(pamac_transaction_gresource_xml DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.c)
SET (pamac_transaction_gresource_xml_C_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.c PARENT_SCOPE)
SET (pamac_transaction_gresource_xml_H_FILE ${CMAKE_CURRENT_BINARY_DIR}/pamac.transaction.gresource.xml.h PARENT_SCOPE)
endif ()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-install.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-manager.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-updater.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/ )
if (KDE_TRAY)
if( NOT ( ${CMAKE_INSTALL_PREFIX} MATCHES "^/home/" ) )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-tray-appindicator.desktop DESTINATION /etc/xdg/autostart/ )
else()
MESSAGE(STATUS "Autostart file data/pamac-tray-appindicator.desktop will not be installed. You must create your own .desktop file and put it at ~/.config/autostart")
endif()
else ()
if( NOT ( ${CMAKE_INSTALL_PREFIX} MATCHES "^/home/" ) )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-tray.desktop DESTINATION /etc/xdg/autostart/ )
else()
MESSAGE(STATUS "Autostart file data/pamac-tray.desktop will not be installed. You must create your own .desktop file and put it at ~/.config/autostart")
endif()
endif ()

View File

@ -0,0 +1,19 @@
### CMakeLists automatically created with AutoVala
### Do not edit
if (NOT(DISABLE_AUR))
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}
)
ENDIF()
endif ()

View File

@ -0,0 +1,19 @@
### CMakeLists automatically created with AutoVala
### Do not edit
if (DISABLE_AUR)
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}
)
ENDIF()
endif ()

View File

@ -0,0 +1,11 @@
### Pamac configuration file
## When removing a package, also remove those dependencies
## that are not required by other packages (recurse option):
#RemoveUnrequiredDeps
## How often to check for updates, value in hours (0 to disable):
RefreshPeriod = 6
## When there are no updates available, hide the tray icon:
#NoUpdateHideIcon

45
data/dbus/CMakeLists.txt Normal file
View File

@ -0,0 +1,45 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.conf)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.conf
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.user.service)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.user.service
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.user.service
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.service)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.service
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/system-services
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.system.service
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/system-services
)
ENDIF()

View File

@ -4,19 +4,19 @@
<busconfig>
<!-- Only root can own the service -->
<policy user="root">
<allow own="org.manjaro.pamac.system"/>
<allow own="org.pamac.system"/>
</policy>
<!-- Allow anyone to invoke methods on the interfaces -->
<policy context="default">
<allow send_destination="org.manjaro.pamac.system"
send_interface="org.manjaro.pamac.system"/>
<allow send_destination="org.pamac.system"
send_interface="org.pamac.system"/>
<allow send_destination="org.manjaro.pamac.system"
<allow send_destination="org.pamac.system"
send_interface="org.freedesktop.DBus_Introspectable"/>
<allow send_destination="org.manjaro.pamac.system"
<allow send_destination="org.pamac.system"
send_interface="org.freedesktop.DBus.Peer"/>
<allow send_destination="org.manjaro.pamac.system"
<allow send_destination="org.pamac.system"
send_interface="org.freedesktop.DBus.Properties"/>
</policy>
</busconfig>

View File

@ -1,5 +1,5 @@
[D-BUS Service]
Name=org.manjaro.pamac.system
Name=org.pamac.system
Exec=/usr/bin/pamac-system-daemon
User=root
SystemdService=pamac-system.service

View File

@ -1,3 +1,3 @@
[D-BUS Service]
Name=org.manjaro.pamac.user
Name=org.pamac.user
Exec=/usr/bin/pamac-user-daemon

View File

@ -0,0 +1,8 @@
### CMakeLists automatically created with AutoVala
### Do not edit
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/system-software-install.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps/)
if( NOT (${ICON_UPDATE} STREQUAL "OFF" ))
find_program ( GTK_UPDATE_ICON_CACHE NAMES gtk-update-icon-cache.3.0 gtk-update-icon-cache )
install (CODE "execute_process ( COMMAND ${GTK_UPDATE_ICON_CACHE} -f -t ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor )" )
ENDIF()

View File

@ -0,0 +1,9 @@
### CMakeLists automatically created with AutoVala
### Do not edit
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-tray-no-update.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps/)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pamac-tray-update.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps/)
if( NOT (${ICON_UPDATE} STREQUAL "OFF" ))
find_program ( GTK_UPDATE_ICON_CACHE NAMES gtk-update-icon-cache.3.0 gtk-update-icon-cache )
install (CODE "execute_process ( COMMAND ${GTK_UPDATE_ICON_CACHE} -f -t ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor )" )
ENDIF()

View File

@ -0,0 +1,8 @@
### CMakeLists automatically created with AutoVala
### Do not edit
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/system-software-install.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps/)
if( NOT (${ICON_UPDATE} STREQUAL "OFF" ))
find_program ( GTK_UPDATE_ICON_CACHE NAMES gtk-update-icon-cache.3.0 gtk-update-icon-cache )
install (CODE "execute_process ( COMMAND ${GTK_UPDATE_ICON_CACHE} -f -t ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor )" )
ENDIF()

View File

@ -0,0 +1,18 @@
### CMakeLists automatically created with AutoVala
### Do not edit
if (DISABLE_AUR)
else ()
endif ()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/choose_ignorepkgs_dialog.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/choose_provider_dialog.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/history_dialog.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/progress_box.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/transaction_sum_dialog.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
if (DISABLE_AUR)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manager_window_no_aur.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/preferences_dialog_no_aur.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
else ()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manager_window.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/preferences_dialog.ui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
endif ()

View File

@ -0,0 +1,935 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.16"/>
<object class="GtkPopoverMenu" id="popovermenu">
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="menu_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkModelButton" id="refresh_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">Refresh databases</property>
<signal name="clicked" handler="on_refresh_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="history_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">View History</property>
<signal name="clicked" handler="on_history_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="local_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">Install Local Packages</property>
<signal name="clicked" handler="on_local_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="preferences_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">Preferences</property>
<signal name="clicked" handler="on_preferences_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="about_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">About</property>
<signal name="clicked" handler="on_about_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="submenu">main</property>
<property name="position">1</property>
</packing>
</child>
</object>
<template class="PamacManagerWindow" parent="GtkApplicationWindow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="default_height">500</property>
<property name="icon_name">system-software-install</property>
<property name="gravity">center</property>
<property name="show_menubar">False</property>
<child>
<object class="GtkBox" id="main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkStack" id="main_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="transition_type">slide-left-right</property>
<child>
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">3</property>
<property name="spacing">3</property>
<child>
<object class="GtkStack" id="filters_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="box5">
<property name="width_request">200</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkSearchEntry" id="search_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="margin_left">3</property>
<property name="caps_lock_warning">False</property>
<property name="primary_icon_name">edit-find-symbolic</property>
<property name="placeholder_text" translatable="yes">Search</property>
<signal name="activate" handler="on_search_entry_activate" swapped="no"/>
<signal name="changed" handler="on_search_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="search_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="search_treeview_selection">
<signal name="changed" handler="on_search_treeview_selection_changed" after="yes" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="Terms">
<child>
<object class="GtkCellRendererText" id="cellrenderertext8"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">search</property>
<property name="title" translatable="yes">Search</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="groups_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="groups_treeview_selection">
<signal name="changed" handler="on_groups_treeview_selection_changed" after="yes" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="Groups">
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">groups</property>
<property name="title" translatable="yes">Groups</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="states_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="states_treeview_selection">
<signal name="changed" handler="on_states_treeview_selection_changed" after="yes" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="State">
<child>
<object class="GtkCellRendererText" id="cellrenderertext9"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">states</property>
<property name="title" translatable="yes">State</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow8">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="repos_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="repos_treeview_selection">
<signal name="changed" handler="on_repos_treeview_selection_changed" after="yes" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="Repos">
<child>
<object class="GtkCellRendererText" id="cellrenderertext10"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">repos</property>
<property name="title" translatable="yes">Repositories</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="name">updates</property>
<property name="title" translatable="yes">Updates</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkStackSwitcher" id="packages_stackswitcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="stack">packages_stack</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="packages_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkScrolledWindow" id="packages_scrolledwindow">
<property name="width_request">614</property>
<property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="packages_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="search_column">1</property>
<property name="fixed_height_mode">True</property>
<property name="show_expanders">False</property>
<property name="rubber_banding">True</property>
<signal name="button-press-event" handler="on_packages_treeview_button_press_event" swapped="no"/>
<signal name="query-tooltip" handler="on_packages_treeview_query_tooltip" swapped="no"/>
<signal name="row-activated" handler="on_packages_treeview_row_activated" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="packages_treeview_selection">
<property name="mode">multiple</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="packages_state_column">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="fixed_width">60</property>
<property name="min_width">20</property>
<property name="title" translatable="yes">State</property>
<property name="clickable">True</property>
<property name="sort_column_id">0</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="packages_name_column">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="fixed_width">200</property>
<property name="min_width">20</property>
<property name="title" translatable="yes">Name</property>
<property name="expand">True</property>
<property name="clickable">True</property>
<property name="sort_column_id">1</property>
<child>
<object class="GtkCellRendererText" id="packages_name_renderertext">
<property name="wrap_mode">word</property>
</object>
<attributes>
<attribute name="markup">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="packages_version_column">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="fixed_width">90</property>
<property name="min_width">20</property>
<property name="title" translatable="yes">Version</property>
<property name="clickable">True</property>
<property name="sort_column_id">3</property>
<child>
<object class="GtkCellRendererText" id="packages_version_renderertext"/>
<attributes>
<attribute name="markup">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="packages_repo_column">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="fixed_width">90</property>
<property name="min_width">20</property>
<property name="title" translatable="yes">Repository</property>
<property name="clickable">True</property>
<property name="sort_column_id">4</property>
<child>
<object class="GtkCellRendererText" id="packages_repo_renderertext"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="packages_size_column">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="fixed_width">90</property>
<property name="min_width">20</property>
<property name="title" translatable="yes">Size</property>
<property name="clickable">True</property>
<property name="sort_column_id">5</property>
<child>
<object class="GtkCellRendererText" id="packages_size_renderertext"/>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">repos</property>
<property name="title" translatable="yes">Repositories</property>
</packing>
</child>
<child>
<object class="GtkBox" id="updated_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkImage" id="updated_icon">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">end</property>
<property name="icon_name">object-select-symbolic</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="updated_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">updated</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">browse</property>
<property name="title" translatable="yes">Browse</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">3</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">18</property>
<child>
<object class="GtkLabel" id="name_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="selectable">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="desc_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="link_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="selectable">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="licenses_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="details_buttonbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
<object class="GtkToggleButton" id="remove_togglebutton">
<property name="label" translatable="yes">Remove</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="toggled" handler="on_remove_togglebutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="reinstall_togglebutton">
<property name="label" translatable="yes">Reinstall</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="toggled" handler="on_reinstall_togglebutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="install_togglebutton">
<property name="label" translatable="yes">Install</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="toggled" handler="on_install_togglebutton_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStackSwitcher" id="properties_stackswitcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="stack">properties_stack</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkStack" id="properties_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkScrolledWindow" id="details_scrolledwindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkViewport" id="viewport1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkGrid" id="details_grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">details</property>
<property name="title" translatable="yes">Details</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="deps_scrolledwindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkViewport" id="viewport2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkGrid" id="deps_grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">3</property>
<property name="column_spacing">3</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">deps</property>
<property name="title" translatable="yes">Dependencies</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="files_scrolledwindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkTextView" id="files_textview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="pixels_above_lines">3</property>
<property name="pixels_below_lines">3</property>
<property name="editable">False</property>
<property name="left_margin">6</property>
<property name="right_margin">6</property>
<property name="cursor_visible">False</property>
</object>
</child>
</object>
<packing>
<property name="name">files</property>
<property name="title" translatable="yes">Files</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">details</property>
<property name="title" translatable="yes">Details</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="transaction_infobox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="spacing">12</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkButtonBox" id="transaction_infos_buttonbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">end</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="details_button">
<property name="label" translatable="yes">Details</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="on_details_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="apply_button">
<property name="label" translatable="yes">_Apply</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<signal name="clicked" handler="on_apply_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel_button">
<property name="label" translatable="yes">_Cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<signal name="clicked" handler="on_cancel_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_close_button">True</property>
<child>
<object class="GtkButton" id="button_back">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">start</property>
<signal name="clicked" handler="on_button_back_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="back_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">go-previous-symbolic</property>
<property name="icon_size">1</property>
</object>
</child>
<style>
<class name="image-button"/>
</style>
</object>
</child>
<child type="title">
<object class="GtkStackSwitcher" id="filters_stackswitcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="stack">filters_stack</property>
</object>
</child>
<child>
<object class="GtkMenuButton" id="menu_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="popover">popovermenu</property>
<signal name="toggled" handler="on_menu_button_toggled" swapped="no"/>
<child>
<object class="GtkImage" id="menu_icon">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">open-menu-symbolic</property>
<property name="icon_size">1</property>
</object>
</child>
<style>
<class name="image-button"/>
</style>
</object>
<packing>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</template>
</interface>

View File

@ -0,0 +1,617 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.14"/>
<object class="GtkAdjustment" id="cache_keep_nb_adjustment">
<property name="upper">10</property>
<property name="value">3</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="refresh_period_adjustment">
<property name="lower">1</property>
<property name="upper">1000</property>
<property name="value">6</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<template class="PamacPreferencesDialog" parent="GtkDialog">
<property name="can_focus">False</property>
<property name="border_width">3</property>
<property name="window_position">center-on-parent</property>
<property name="icon_name">system-software-install</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="general_config_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="remove_unrequired_deps_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Remove unrequired dependencies</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="remove_unrequired_deps_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">When removing a package, also remove its dependencies that are not required by other packages</property>
<property name="halign">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="check_space_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Check available disk space</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="check_space_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Check available disk space</property>
<property name="halign">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="check_updates_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Check for updates</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="check_updates_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Check for updates</property>
<property name="halign">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="refresh_period_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">24</property>
<property name="margin_start">24</property>
<property name="hexpand">True</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="refresh_period_spin_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">How often to check for updates, value in hours</property>
<property name="halign">end</property>
<property name="caps_lock_warning">False</property>
<property name="input_purpose">number</property>
<property name="adjustment">refresh_period_adjustment</property>
<property name="numeric">True</property>
<property name="update_policy">if-valid</property>
<property name="value">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="no_update_hide_icon_checkbutton">
<property name="label" translatable="yes">Hide tray icon when no update available</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">start</property>
<property name="margin_left">22</property>
<property name="margin_start">22</property>
<property name="hexpand">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkBox" id="ignorepkgs_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="ignorepkgs_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="margin_left">26</property>
<property name="margin_start">26</property>
<property name="label" translatable="yes">Ignore upgrades for:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">12</property>
<property name="margin_start">12</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow" id="ignorepkgs_scrolledwindow">
<property name="height_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="ignorepkgs_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="search_column">0</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="sizing">autosize</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="ignorepkgs_toolbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="toolbar_style">icons</property>
<property name="show_arrow">False</property>
<property name="icon_size">1</property>
<child>
<object class="GtkToolButton" id="add_ignorepkgs_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add-symbolic</property>
<signal name="clicked" handler="on_add_ignorepkgs_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="remove_ignorepkgs_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="icon_name">list-remove-symbolic</property>
<signal name="clicked" handler="on_remove_ignorepkgs_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<style>
<class name="inline-toolbar"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="name">general</property>
<property name="title" translatable="yes">General</property>
</packing>
</child>
<child>
<object class="GtkBox" id="mirrors_config_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="mirrors_list_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Use mirrors from:</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="mirrors_country_comboboxtext">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="mirrors_list_generation_method_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Sort mirrors by:</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="mirrors_list_generation_method_comboboxtext">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="generate_mirrors_list_button">
<property name="label" translatable="yes">Refresh Mirrors List</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<property name="margin_top">12</property>
<signal name="clicked" handler="on_generate_mirrors_list_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">official_repositories</property>
<property name="title" translatable="yes">Official Repositories</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="cache_config_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="cache_keep_nb_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="wrap">True</property>
<property name="max_width_chars">300</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="cache_keep_nb_spin_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Number of versions of each package to keep in the cache</property>
<property name="halign">end</property>
<property name="caps_lock_warning">False</property>
<property name="input_purpose">number</property>
<property name="adjustment">cache_keep_nb_adjustment</property>
<property name="numeric">True</property>
<property name="update_policy">if-valid</property>
<property name="value">3</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cache_only_uninstalled_checkbutton">
<property name="label" translatable="yes">Remove only the versions of uninstalled packages</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_start">22</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cache_clean_button">
<property name="label" translatable="yes">Clean cache</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<property name="margin_top">12</property>
<signal name="clicked" handler="on_cache_clean_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">cache</property>
<property name="title" translatable="yes">Cache</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_close_button">True</property>
<child>
<placeholder/>
</child>
<child type="title">
<object class="GtkStackSwitcher" id="stackswitcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="stack">stack</property>
</object>
</child>
</object>
</child>
</template>
</interface>

17
data/mime/CMakeLists.txt Normal file
View File

@ -0,0 +1,17 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/x-alpm-package.xml)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/x-alpm-package.xml
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/mime/packages
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/x-alpm-package.xml
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/mime/packages
)
ENDIF()

View File

@ -6,3 +6,4 @@ Terminal=false
Type=Application
StartupNotify=true
OnlyShowIn=KDE;
X-GNOME-Autostart-enabled=true

View File

@ -6,3 +6,4 @@ Terminal=false
Type=Application
StartupNotify=false
NotShowIn=KDE;
X-GNOME-Autostart-enabled=true

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/pamac/installer">
<file preprocess="xml-stripblanks">interface/progress_dialog.ui</file>
</gresource>
</gresources>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/pamac/manager">
<file preprocess="xml-stripblanks">interface/manager_window.ui</file>
<file preprocess="xml-stripblanks">interface/history_dialog.ui</file>
<file preprocess="to-pixdata">pixmaps/package-available.png</file>
<file preprocess="to-pixdata">pixmaps/package-available-locked.png</file>
<file preprocess="to-pixdata">pixmaps/package-install.png</file>
<file preprocess="to-pixdata">pixmaps/package-installed-locked.png</file>
<file preprocess="to-pixdata">pixmaps/package-installed-updated.png</file>
<file preprocess="to-pixdata">pixmaps/package-reinstall.png</file>
<file preprocess="to-pixdata">pixmaps/package-remove.png</file>
<file preprocess="to-pixdata">pixmaps/package-upgrade.png</file>
</gresource>
</gresources>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/pamac/manager">
<file preprocess="xml-stripblanks">interface/manager_window_no_aur.ui</file>
<file preprocess="xml-stripblanks">interface/history_dialog.ui</file>
<file preprocess="to-pixdata">pixmaps/package-available.png</file>
<file preprocess="to-pixdata">pixmaps/package-available-locked.png</file>
<file preprocess="to-pixdata">pixmaps/package-install.png</file>
<file preprocess="to-pixdata">pixmaps/package-installed-locked.png</file>
<file preprocess="to-pixdata">pixmaps/package-installed-updated.png</file>
<file preprocess="to-pixdata">pixmaps/package-reinstall.png</file>
<file preprocess="to-pixdata">pixmaps/package-remove.png</file>
<file preprocess="to-pixdata">pixmaps/package-upgrade.png</file>
</gresource>
</gresources>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/pamac/transaction">
<file preprocess="xml-stripblanks">interface/progress_dialog.ui</file>
<file preprocess="xml-stripblanks">interface/progress_box.ui</file>
<file preprocess="xml-stripblanks">interface/choose_provider_dialog.ui</file>
<file preprocess="xml-stripblanks">interface/transaction_sum_dialog.ui</file>
</gresource>
<gresource prefix="/org/pamac/preferences">
<file preprocess="xml-stripblanks">interface/preferences_dialog.ui</file>
<file preprocess="xml-stripblanks">interface/choose_ignorepkgs_dialog.ui</file>
</gresource>
</gresources>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/pamac/transaction">
<file preprocess="xml-stripblanks">interface/progress_dialog.ui</file>
<file preprocess="xml-stripblanks">interface/progress_box.ui</file>
<file preprocess="xml-stripblanks">interface/choose_provider_dialog.ui</file>
<file preprocess="xml-stripblanks">interface/transaction_sum_dialog.ui</file>
</gresource>
<gresource prefix="/org/pamac/preferences">
<file preprocess="xml-stripblanks">interface/preferences_dialog_no_aur.ui</file>
<file preprocess="xml-stripblanks">interface/choose_ignorepkgs_dialog.ui</file>
</gresource>
</gresources>

View File

@ -0,0 +1,12 @@
### CMakeLists automatically created with AutoVala
### Do not edit
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-available-locked.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-available.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-generic.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-install.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-installed-locked.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-installed-updated.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-reinstall.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-remove.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package-upgrade.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pamac/ )

View File

Before

Width:  |  Height:  |  Size: 411 B

After

Width:  |  Height:  |  Size: 411 B

View File

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 298 B

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 539 B

View File

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 478 B

View File

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 348 B

View File

Before

Width:  |  Height:  |  Size: 555 B

After

Width:  |  Height:  |  Size: 555 B

View File

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 618 B

View File

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 501 B

View File

@ -0,0 +1,17 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.policy)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.policy
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/polkit-1/actions
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/org.pamac.policy
DESTINATION
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/polkit-1/actions
)
ENDIF()

View File

@ -3,10 +3,10 @@
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>
<vendor>Manjaro</vendor>
<vendor_url>http://manjaro.org/</vendor_url>
<vendor>Pamac</vendor>
<vendor_url>https://github.com/cromnix/pamac-classic/</vendor_url>
<icon_name>package-x-generic</icon_name>
<action id="org.manjaro.pamac.commit">
<action id="org.pamac.commit">
<message>Authentication is required</message>
<defaults>
<allow_any>no</allow_any>

View File

@ -0,0 +1,73 @@
### CMakeLists automatically created with AutoVala
### Do not edit
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac-system.service)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac-system.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac-system.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.service)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.timer)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.timer
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac-cleancache.timer
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.service)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.service
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ENDIF()
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.timer)
install(DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.timer
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ELSE()
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/pamac-mirrorlist.timer
DESTINATION
${CMAKE_INSTALL_LIBDIR}/systemd/system
)
ENDIF()

View File

@ -3,5 +3,5 @@ Description=Pamac System Session
[Service]
Type=dbus
BusName=org.manjaro.pamac.system
BusName=org.pamac.system
ExecStart=/usr/bin/pamac-system-daemon

20
doc/CMakeLists.txt Normal file
View File

@ -0,0 +1,20 @@
### CMakeLists automatically created with AutoVala
### Do not edit
file(GLOB list_data RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *)
foreach(file_data ${list_data})
IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${file_data})
install(DIRECTORY
${file_data}
DESTINATION
${CMAKE_INSTALL_DATAROOTDIR}/doc/pamac
)
ELSE()
install(FILES
${file_data}
DESTINATION
${CMAKE_INSTALL_DATAROOTDIR}/doc/pamac
)
ENDIF()
endforeach()

249
pamac.avprj Normal file
View File

@ -0,0 +1,249 @@
### AutoVala Project ###
autovala_version: 24
project_name: pamac
*vala_version: 0.38
custom: data/dbus/org.pamac.system.conf ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d
custom: data/dbus/org.pamac.user.service ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services
custom: data/dbus/org.pamac.system.service ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/system-services
custom: data/systemd/pamac-system.service ${CMAKE_INSTALL_LIBDIR}/systemd/system
custom: data/systemd/pamac-cleancache.service ${CMAKE_INSTALL_LIBDIR}/systemd/system
custom: data/systemd/pamac-cleancache.timer ${CMAKE_INSTALL_LIBDIR}/systemd/system
custom: data/systemd/pamac-mirrorlist.service ${CMAKE_INSTALL_LIBDIR}/systemd/system
custom: data/systemd/pamac-mirrorlist.timer ${CMAKE_INSTALL_LIBDIR}/systemd/system
custom: data/polkit/org.pamac.policy ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/polkit-1/actions
custom: data/mime/x-alpm-package.xml ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/mime/packages
if DISABLE_AUR
custom: data/config/noaur/pamac.conf ${CMAKE_INSTALL_SYSCONFDIR}
else
custom: data/config/pamac.conf ${CMAKE_INSTALL_SYSCONFDIR}
end
define: KDE_TRAY
*define: DISABLE_AUR
*gresource: pamac_installer_gresource_xml data/pamac.installer.gresource.xml
if DISABLE_AUR
gresource: pamac_manager_gresource_xml data/pamac.manager_no_aur.gresource.xml
gresource: pamac_transaction_gresource_xml data/pamac.transaction_no_aur.gresource.xml
else
gresource: pamac_manager_gresource_xml data/pamac.manager.gresource.xml
gresource: pamac_transaction_gresource_xml data/pamac.transaction.gresource.xml
end
vapidir: src/vapis
vala_binary: src/pamac-install/pamac-install
version: 6.0.0
use_gresource: pamac_installer_gresource_xml
vala_local_package: Pamac
vala_check_package: gtk+-3.0
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
*vala_source: installer.vala
*vala_source: progress_dialog.vala
vala_binary: src/pamac-manager/pamac-manager
version: 6.0.0
use_gresource: pamac_manager_gresource_xml
vala_local_package: Pamac
vala_check_package: gtk+-3.0
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
*vala_source: history_dialog.vala
*vala_source: manager.vala
*vala_source: manager_window.vala
vala_binary: src/pamac-system-daemon/pamac-system-daemon
version: 6.0.0
vala_local_package: Pamac
if NOT DISABLE_AUR
vala_local_package: AUR
end
vala_package: posix
vala_check_package: gtk+-3.0
vala_check_package: json-glib-1.0
vala_check_package: libalpm
vala_check_package: libcurl
vala_check_package: libsoup-2.4
vala_check_package: polkit-gobject-1
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
*vala_source: alpm_config.vala
*vala_source: mirrors_config.vala
*vala_source: pamac_config.vala
*vala_source: system_daemon.vala
vala_binary: src/pamac-tray/pamac-tray
version: 6.0.0
vala_local_package: Pamac
if NOT DISABLE_AUR
vala_local_package: AUR
end
vala_package: posix
vala_check_package: json-glib-1.0
vala_check_package: libnotify
if KDE_TRAY
vala_check_package: appindicator3-0.1
else
vala_check_package: gtk+-3.0
end
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
if KDE_TRAY
vala_source: tray-appindicator.vala
else
vala_source: tray-gtk.vala
end
*vala_source: pamac_config.vala
*vala_source: tray.vala
*vala_source: user_daemon.vala
vala_binary: src/pamac-user-daemon/pamac-user-daemon
version: 6.0.0
vala_local_package: AUR
vala_local_package: Pamac
vala_package: posix
vala_check_package: gtk+-3.0
vala_check_package: json-glib-1.0
vala_check_package: libalpm
vala_check_package: libsoup-2.4
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
*vala_source: alpm_config.vala
*vala_source: user_daemon.vala
vala_library: src/pamac
version: 6.0.0
*namespace: Pamac
use_gresource: pamac_transaction_gresource_xml
vala_package: posix
vala_check_package: gdk-3.0
vala_check_package: gtk+-3.0
vala_check_package: libalpm
vala_check_package: libnotify
vala_check_package: vte-2.91
*vala_check_package: gio-2.0
*vala_check_package: glib-2.0
*vala_check_package: gobject-2.0
*vala_source: alpm_config.vala
*vala_source: choose_ignorepkgs_dialog.vala
*vala_source: choose_provider_dialog.vala
*vala_source: common.vala
*vala_source: mirrors_config.vala
*vala_source: package.vala
*vala_source: pamac_config.vala
*vala_source: preferences_dialog.vala
*vala_source: progress_box.vala
*vala_source: transaction.vala
*vala_source: transaction_sum_dialog.vala
vala_library: src/aur/aur
version: 6.0.0
*namespace: AUR
vala_check_package: json-glib-1.0
vala_check_package: libsoup-2.4
*vala_check_package: glib-2.0
*vala_source: aur.vala
*po: po
*translate: glade data/interface/choose_ignorepkgs_dialog.ui
*translate: glade data/interface/choose_provider_dialog.ui
*translate: glade data/interface/history_dialog.ui
*translate: glade data/interface/progress_box.ui
*translate: glade data/interface/progress_dialog.ui
*translate: glade data/interface/transaction_sum_dialog.ui
*translate: vala src/alpm_config.vala
*translate: vala src/aur/aur.vala
*translate: vala src/choose_ignorepkgs_dialog.vala
*translate: vala src/choose_provider_dialog.vala
*translate: vala src/common.vala
*translate: vala src/mirrors_config.vala
*translate: vala src/package.vala
*translate: vala src/pamac-install/installer.vala
*translate: vala src/pamac-install/progress_dialog.vala
*translate: vala src/pamac-manager/history_dialog.vala
*translate: vala src/pamac-manager/manager.vala
*translate: vala src/pamac-manager/manager_window.vala
*translate: vala src/pamac-system-daemon/alpm_config.vala
*translate: vala src/pamac-system-daemon/mirrors_config.vala
*translate: vala src/pamac-system-daemon/pamac_config.vala
*translate: vala src/pamac-system-daemon/system_daemon.vala
*translate: vala src/pamac-tray/pamac_config.vala
*translate: vala src/pamac-tray/tray.vala
*translate: vala src/pamac-tray/user_daemon.vala
*translate: vala src/pamac-user-daemon/alpm_config.vala
*translate: vala src/pamac-user-daemon/user_daemon.vala
*translate: vala src/pamac_config.vala
*translate: vala src/preferences_dialog.vala
*translate: vala src/progress_box.vala
*translate: vala src/transaction.vala
*translate: vala src/transaction_sum_dialog.vala
if DISABLE_AUR
translate: glade data/interface/manager_window_no_aur.ui
translate: glade data/interface/preferences_dialog_no_aur.ui
else
translate: glade data/interface/manager_window.ui
translate: glade data/interface/preferences_dialog.ui
end
if KDE_TRAY
translate: vala src/pamac-tray/tray-appindicator.vala
else
translate: vala src/pamac-tray/tray-gtk.vala
end
*doc: doc
*desktop: data/pamac-install.desktop
*desktop: data/pamac-manager.desktop
*desktop: data/pamac-updater.desktop
if KDE_TRAY
autostart: data/pamac-tray-appindicator.desktop
else
autostart: data/pamac-tray.desktop
end
*glade: data/interface/choose_ignorepkgs_dialog.ui
*glade: data/interface/choose_provider_dialog.ui
*glade: data/interface/history_dialog.ui
*glade: data/interface/progress_box.ui
*glade: data/interface/transaction_sum_dialog.ui
if DISABLE_AUR
glade: data/interface/manager_window_no_aur.ui
glade: data/interface/preferences_dialog_no_aur.ui
else
glade: data/interface/manager_window.ui
glade: data/interface/preferences_dialog.ui
end
*full_icon: Hicolor Applications data/icons/16x16/apps/system-software-install.png
*full_icon: Hicolor Applications data/icons/24x24/status/pamac-tray-no-update.png
*full_icon: Hicolor Applications data/icons/24x24/status/pamac-tray-update.png
*full_icon: Hicolor Applications data/icons/32x32/apps/system-software-install.png
*pixmap: data/pixmaps/package-available-locked.png
*pixmap: data/pixmaps/package-available.png
*pixmap: data/pixmaps/package-generic.png
*pixmap: data/pixmaps/package-install.png
*pixmap: data/pixmaps/package-installed-locked.png
*pixmap: data/pixmaps/package-installed-updated.png
*pixmap: data/pixmaps/package-reinstall.png
*pixmap: data/pixmaps/package-remove.png
*pixmap: data/pixmaps/package-upgrade.png
# These depends are needed to enable parallel builds
include: src/pamac-install/CMakeDepends.txt
include: src/pamac-manager/CMakeDepends.txt
include: src/pamac-system-daemon/CMakeDepends.txt
include: src/pamac-tray/CMakeDepends.txt
include: src/pamac-user-daemon/CMakeDepends.txt

6
po/CMakeLists.txt Normal file
View File

@ -0,0 +1,6 @@
### CMakeLists automatically created with AutoVala
### Do not edit
include (Translations)
add_translations_directory("pamac")
add_translations_catalog("pamac" ../src/pamac-install ../src/pamac-manager ../src/pamac-system-daemon ../src/pamac-tray ../src/pamac-user-daemon ../src ../src/aur ../data/interface )

1
po/LINGUAS Normal file
View File

@ -0,0 +1 @@
af ar es_ES nn sl_SI cs_CZ is gl be sr_RS zh_TW pl_PL uz fi is_IS sr_RS@latin sl sr@latin fr ro sr el eu ml ur_PK ko el_GR de_DE cs bs si zh da ca_ES sv it_IT vi eo es_AR zh_CN pl hi pt en_GB es es_MX fa nl hu bn hr_HR nb ja pt_BR pt_PT nl_BE ca tr he hi_IN et lt fo it fa_IR es_419 de_CH de ka bs_BA ru ms sk bg ast uk hr es_SV nl_NL cy id az_AZ

View File

@ -3,13 +3,12 @@ MSGLANGS=$(notdir $(wildcard *.po))
MSGOBJS=$(addprefix locale/,$(MSGLANGS:.po=/LC_MESSAGES/pamac.mo))
gettext: ../data/polkit/org.manjaro.pamac.policy.in $(MSGOBJS)
itstool -j ../data/polkit/org.manjaro.pamac.policy.in -o ../data/polkit/org.manjaro.pamac.policy $(MSGLANGS:.po=.mo)
gettext: ../data/polkit/org.pamac.policy.in $(MSGOBJS)
itstool -j ../data/polkit/org.pamac.policy.in -o ../data/polkit/org.pamac.policy $(MSGLANGS:.po=.mo)
clean:
rm -rf locale
rm -f *.mo
rm -f ../data/polkit/org.manjaro.pamac.policy
locale/%/LC_MESSAGES/pamac.mo: %.po
msgfmt -c -o $*.mo $*.po

38
po/POTFILES.in Normal file
View File

@ -0,0 +1,38 @@
src/pamac-install/installer.vala
src/pamac-install/progress_dialog.vala
src/pamac-manager/history_dialog.vala
src/pamac-manager/manager.vala
src/pamac-manager/manager_window.vala
src/pamac-system-daemon/alpm_config.vala
src/pamac-system-daemon/mirrors_config.vala
src/pamac-system-daemon/pamac_config.vala
src/pamac-system-daemon/system_daemon.vala
src/pamac-tray/tray-appindicator.vala
src/pamac-tray/tray-gtk.vala
src/pamac-tray/pamac_config.vala
src/pamac-tray/tray.vala
src/pamac-tray/user_daemon.vala
src/pamac-user-daemon/alpm_config.vala
src/pamac-user-daemon/user_daemon.vala
src/alpm_config.vala
src/choose_ignorepkgs_dialog.vala
src/choose_provider_dialog.vala
src/common.vala
src/mirrors_config.vala
src/package.vala
src/pamac_config.vala
src/preferences_dialog.vala
src/progress_box.vala
src/transaction.vala
src/transaction_sum_dialog.vala
src/aur/aur.vala
data/interface/choose_ignorepkgs_dialog.ui
data/interface/choose_provider_dialog.ui
data/interface/history_dialog.ui
data/interface/progress_box.ui
data/interface/progress_dialog.ui
data/interface/transaction_sum_dialog.ui
data/interface/manager_window_no_aur.ui
data/interface/preferences_dialog_no_aur.ui
data/interface/manager_window.ui
data/interface/preferences_dialog.ui

View File

@ -7,18 +7,18 @@
msgid ""
msgstr ""
"Project-Id-Version: manjaro-pamac\n"
"Report-Msgid-Bugs-To: guillaume@manjaro.org\n"
"Report-Msgid-Bugs-To: cromer@cromnix.org\n"
"POT-Creation-Date: 2016-04-24 08:44+0200\n"
"PO-Revision-Date: 2017-07-30 02:40+0000\n"
"Last-Translator: philm <philm@manjaro.org>\n"
"Language-Team: Afrikaans (http://www.transifex.com/manjarolinux/manjaro-pamac/language/af/)\n"
"Language: af\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/polkit/org.manjaro.pamac.policy
#: data/polkit/org.pamac.policy
msgid "Authentication is required"
msgstr ""
@ -550,6 +550,10 @@ msgstr ""
msgid "Number of versions of each package to keep in the cache"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Build directory"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Worldwide"
msgstr ""
@ -660,9 +664,7 @@ msgid "Remove unrequired dependencies"
msgstr ""
#: ../resources/preferences_dialog.ui
msgid ""
"When removing a package, also remove its dependencies that are not required "
"by other packages"
msgid "When removing a package, also remove its dependencies that are not required by other packages"
msgstr ""
#: ../resources/preferences_dialog.ui

View File

@ -14,18 +14,18 @@
msgid ""
msgstr ""
"Project-Id-Version: manjaro-pamac\n"
"Report-Msgid-Bugs-To: guillaume@manjaro.org\n"
"Report-Msgid-Bugs-To: cromer@cromnix.org\n"
"POT-Creation-Date: 2016-04-24 08:44+0200\n"
"PO-Revision-Date: 2017-07-30 02:40+0000\n"
"Last-Translator: philm <philm@manjaro.org>\n"
"Language-Team: Arabic (http://www.transifex.com/manjarolinux/manjaro-pamac/language/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: data/polkit/org.manjaro.pamac.policy
#: data/polkit/org.pamac.policy
msgid "Authentication is required"
msgstr "صلاحيات مطلوبة"
@ -569,6 +569,10 @@ msgstr "كيف سيتم التحقق من توفر تحديثات في اغلب
msgid "Number of versions of each package to keep in the cache"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Build directory"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Worldwide"
msgstr " حول العالم"
@ -679,9 +683,7 @@ msgid "Remove unrequired dependencies"
msgstr "حذف الاعتماديات الغير مطلوبة"
#: ../resources/preferences_dialog.ui
msgid ""
"When removing a package, also remove its dependencies that are not required "
"by other packages"
msgid "When removing a package, also remove its dependencies that are not required by other packages"
msgstr "عند إزالة الحزمة، أيضا إزالة تبعياته التي ليست مطلوبة من قبل حزم أخرى"
#: ../resources/preferences_dialog.ui
@ -724,7 +726,9 @@ msgstr "مستودعات رسمية"
msgid ""
"AUR is a community maintained repository so it presents potential risks and problems.\n"
"All AUR users should be familiar with the build process."
msgstr "مستودعات الأعضاء يعرض لمخاطر ولمشاكل محتملة\nيجب أن يكون المستخدمون على دراية بعملية الإنشاء."
msgstr ""
"مستودعات الأعضاء يعرض لمخاطر ولمشاكل محتملة\n"
"يجب أن يكون المستخدمون على دراية بعملية الإنشاء."
#: ../resources/preferences_dialog.ui
msgid "Enable AUR support"

View File

@ -13,18 +13,18 @@
msgid ""
msgstr ""
"Project-Id-Version: manjaro-pamac\n"
"Report-Msgid-Bugs-To: guillaume@manjaro.org\n"
"Report-Msgid-Bugs-To: cromer@cromnix.org\n"
"POT-Creation-Date: 2016-04-24 08:44+0200\n"
"PO-Revision-Date: 2017-07-30 02:40+0000\n"
"Last-Translator: philm <philm@manjaro.org>\n"
"Language-Team: Asturian (http://www.transifex.com/manjarolinux/manjaro-pamac/language/ast/)\n"
"Language: ast\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/polkit/org.manjaro.pamac.policy
#: data/polkit/org.pamac.policy
msgid "Authentication is required"
msgstr "Ríquese l'autenticación"
@ -556,6 +556,10 @@ msgstr "¿Cuándo quies guetar anovamientos? Valor n'hores"
msgid "Number of versions of each package to keep in the cache"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Build directory"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Worldwide"
msgstr "Mundiu"
@ -666,9 +670,7 @@ msgid "Remove unrequired dependencies"
msgstr "Desaniciar dependencies non riquíes"
#: ../resources/preferences_dialog.ui
msgid ""
"When removing a package, also remove its dependencies that are not required "
"by other packages"
msgid "When removing a package, also remove its dependencies that are not required by other packages"
msgstr "Al desaniciar un paquete tamién se desanicien les sos dependencies que dengún paquete rique"
#: ../resources/preferences_dialog.ui
@ -711,7 +713,9 @@ msgstr "Repositorios oficiales"
msgid ""
"AUR is a community maintained repository so it presents potential risks and problems.\n"
"All AUR users should be familiar with the build process."
msgstr "AUR ye un repositoriu calteníu pola comunidá asina que pue presentar riesgos potenciales y problemes.\nTolos usuarios d'AUR deberíen tar familiarizaos col procesu de construcción."
msgstr ""
"AUR ye un repositoriu calteníu pola comunidá asina que pue presentar riesgos potenciales y problemes.\n"
"Tolos usuarios d'AUR deberíen tar familiarizaos col procesu de construcción."
#: ../resources/preferences_dialog.ui
msgid "Enable AUR support"

View File

@ -8,18 +8,18 @@
msgid ""
msgstr ""
"Project-Id-Version: manjaro-pamac\n"
"Report-Msgid-Bugs-To: guillaume@manjaro.org\n"
"Report-Msgid-Bugs-To: cromer@cromnix.org\n"
"POT-Creation-Date: 2016-04-24 08:44+0200\n"
"PO-Revision-Date: 2017-07-30 02:40+0000\n"
"Last-Translator: philm <philm@manjaro.org>\n"
"Language-Team: Azerbaijani (Azerbaijan) (http://www.transifex.com/manjarolinux/manjaro-pamac/language/az_AZ/)\n"
"Language: az_AZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: az_AZ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/polkit/org.manjaro.pamac.policy
#: data/polkit/org.pamac.policy
msgid "Authentication is required"
msgstr "Kimlik tələb olunur"
@ -551,6 +551,10 @@ msgstr ""
msgid "Number of versions of each package to keep in the cache"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Build directory"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Worldwide"
msgstr ""
@ -661,9 +665,7 @@ msgid "Remove unrequired dependencies"
msgstr ""
#: ../resources/preferences_dialog.ui
msgid ""
"When removing a package, also remove its dependencies that are not required "
"by other packages"
msgid "When removing a package, also remove its dependencies that are not required by other packages"
msgstr ""
#: ../resources/preferences_dialog.ui

View File

@ -7,18 +7,18 @@
msgid ""
msgstr ""
"Project-Id-Version: manjaro-pamac\n"
"Report-Msgid-Bugs-To: guillaume@manjaro.org\n"
"Report-Msgid-Bugs-To: cromer@cromnix.org\n"
"POT-Creation-Date: 2016-04-24 08:44+0200\n"
"PO-Revision-Date: 2017-07-30 02:40+0000\n"
"Last-Translator: philm <philm@manjaro.org>\n"
"Language-Team: Belarusian (http://www.transifex.com/manjarolinux/manjaro-pamac/language/be/)\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: data/polkit/org.manjaro.pamac.policy
#: data/polkit/org.pamac.policy
msgid "Authentication is required"
msgstr ""
@ -556,6 +556,10 @@ msgstr ""
msgid "Number of versions of each package to keep in the cache"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Build directory"
msgstr ""
#: ../src/preferences_dialog.vala
msgid "Worldwide"
msgstr ""
@ -666,9 +670,7 @@ msgid "Remove unrequired dependencies"
msgstr ""
#: ../resources/preferences_dialog.ui
msgid ""
"When removing a package, also remove its dependencies that are not required "
"by other packages"
msgid "When removing a package, also remove its dependencies that are not required by other packages"
msgstr ""
#: ../resources/preferences_dialog.ui

Some files were not shown because too many files have changed in this diff Show More