diff --git a/CMakeLists.txt b/CMakeLists.txt index 3405999..d6586cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,8 +7,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" include(GNUInstallDirs) -foreach(arch i686 x86_64) - set(cmd "archlinuxcn-${arch}-build") +function(install_build_script cmd) add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cmds/${cmd}" COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/cmds" @@ -16,9 +15,13 @@ foreach(arch i686 x86_64) "${CMAKE_CURRENT_BINARY_DIR}/cmds/${cmd}") add_custom_target(${cmd}.target ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/cmds/${cmd}") -endforeach() +endfunction() + +install_build_script(archlinuxcn-i686-build) +install_build_script(archlinuxcn-x86_64-build) +install_build_script(multilib-archlinuxcn-build) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cmds/" DESTINATION "${CMAKE_INSTALL_BINDIR}") -install(FILES "pacman-archlinuxcn.conf" +install(FILES "pacman-archlinuxcn.conf" "pacman-multilib-archlinuxcn.conf" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/devtools/") diff --git a/pacman-multilib-archlinuxcn.conf b/pacman-multilib-archlinuxcn.conf new file mode 100644 index 0000000..ffb295f --- /dev/null +++ b/pacman-multilib-archlinuxcn.conf @@ -0,0 +1,108 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +[haskell-core] +# Server = http://repo-hs.archlinuxcn.org/$arch +Server = http://xsounds.org/~haskell/core/$arch + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[archlinuxcn] +SigLevel = Optional TrustAll +Server = http://repo.archlinuxcn.org/$arch