Commit graph

327 commits

Author SHA1 Message Date
Bryan Drewery
37aedfab77 Fix some *-list targets not properly passing FLAVOR down the chain.
Approved by:	portmgr (implicit)
MFH:		2018Q1
2018-01-04 19:58:18 +00:00
Dmitry Marakasov
273db182a9 Report (in q/a) and fix (in shebangfix) python[23] shebangs
Currently, only python shebangs (e.g. /bin/python, /usr/local/bin/python,
/usr/bin/env python etc.) are reported by stage Q/A and fixed by
USES=shebangfix. We need to do the same for python[23] as well.

Before the problem was not noticeable since many ports had e.g.
USES=python:2, which added a dependency on python2 metaport, however
that's going to switch to USES=python:2.7, and neither it, nor more
widely used USES=python adds a dependency on metaports, so there's
very high probability that python[23] links are not available.

Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D13571
2017-12-21 13:27:51 +00:00
Mathieu Arnold
f3c8470783 Fix a edge case in the fetch related targets.
This would have given an error when:

- The port uses DIST_SUBDIR
- That sub-directory does not exist
- The current user does not have permission to write in DISTDIR.

Something like:

$ sudo rmdir /usr/ports/distfiles/gallery2
$ make fetch-urlall-list
mkdir: /usr/ports/distfiles/gallery2: Permission denied
*** Error code 1

PR:		222819
Reported by:	sunpoet
Sponsored by:	Absolight
2017-12-16 08:53:07 +00:00
Mathieu Arnold
e5587103cd Fix qa lib dependency checks when using libmap.conf.
This happens, for instance, if x11/nvidia-driver is installed.

PR:		221406
Submitted by:	tobik
Approved by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11977
2017-12-15 15:56:09 +00:00
Bryan Drewery
15714bc164 Fix 'make -j'.
- Pass MAKEFLAGS down into do-depends properly.
- Remove redundant dependencies, run-depends and lib-depends, from
  targets that already depend on earlier targets that depend on
  the needed targets.

Reported by:	emaste
With hat:	portmgr
2017-12-07 01:51:00 +00:00
Mathieu Arnold
30c4ca5784 Generic FLAVORS work.
- Enable FLAVORS.
- Make make describe flavors aware.
- Add a qa check for unique package names amongst flavors.
- Make MOVEDlint understand flavors.
- Add a bit of sanity check to make sure FLAVORS stay lowercase.
- Various fixes.

Reviewed by:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12577
2017-11-30 15:33:29 +00:00
Antoine Brodin
0e8ef7f48c Skip comments when parsing GID_FILES
Reviewed by:	bapt
MFH:		2017Q4
Differential Revision:	https://reviews.freebsd.org/D12682
2017-10-16 08:30:27 +00:00
Adriaan de Groot
0607e8e163 Take out the check that suggests that all <foo>-qt5 ports should be
part of USE_QT5, since all of those suggestions are wrong.

Approved by:	rakuco (mentor), tcberner (mentor), portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D12526
2017-10-04 21:01:09 +00:00
Mathieu Arnold
e2e97eb2bc Implement basic flavors.
**Do not start migrating any ports, a hook will prevent it**

This has been a long awaiting feature, most of the work has been done by
bapt, bdrewery and antoine, I am just the one actually doing the commit.

All this informations, and more to come are in the first link to our wiki
in the bottom block. A roadmap is in the second link.

To define a different flavors in a port, before any include, set:

FLAVORS=  flavor1 flavor2 [...]

The first flavor in the list will be the default.

You can then check for flavors after includ'ing bsd.port.options.mk with:

.if ${FLAVOR} == flavor2
[some stuff]
.endif

To build flavor2, simply run:

make FLAVOR=flavor2

To depend on a specific flavor, write @<flavor> at the end of the depend
string, like:

RUN_DEPENDS=	something:origin@foo

Submitted by:	bapt, bdrewery, antoine
Reviewed by:	portmgr
More infos:	https://wiki.freebsd.org/Ports/FlavorsMigration
Todo List:	https://wiki.freebsd.org/Ports/FlavorsAndSubPackages
With hat:	portmgr
Differential Revision: https://reviews.freebsd.org/D10327
2017-09-26 14:14:44 +00:00
Mathieu Arnold
2454b666be Remove a useless block in the shebang checks.
* Once upon a time, we checked all of STAGEDIR/PREFIX's executable
  files.
* We then decided too many false positives were found, so we switched to
  only checking executable files in bin/sbin/libexec/www, and also
  symlinks that were in there.
* And then, we decided to go back to check all of STAGEDIR/PREFIX's
  executable files, but forgot to remove the checks for symlinks (which
  are now useless because we already check all the executable files.)

Reported by:	lifanov
Sponsored by:	Absolight
2017-09-25 22:45:08 +00:00
Mathieu Arnold
3fcd0e41de Remove USES=execinfo.
PR:		220271
Submitted by:	mat (review), Yasuhiro KIMURA (PR)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11488
2017-09-22 10:48:28 +00:00
Tobias C. Berner
25bf018f0f - Update The Glorious Glasgow Haskell Compiler to version 8.0.2
- Simplified port by only suporting GCC, and creating a build.mk file
- Update Pandoc to 1.19.2.1
- Update git-annex to 6.20170520
- Update Darcs to 2.12.5
- Update Gtk2Hs to 0.13.2.2
- Update Agda to 2.5.2

Please note that port revisions for all the Haskell ports without version
changes are bumped.

See the UPDATING file for instructions.

New ports (63):

hs-EdisonAPI                     API for EdisonCore
hs-EdisonCore                    Efficent, purely-functional data structures
hs-ListLike                      Generic support for list-like structures
hs-Only                          Canonical anonymous 1-tuple type
hs-aeson-compat                  Compatibility layer for aeson
hs-attoparsec-iso8601            Parsing of ISO 8601 dates
hs-base-compat                   Compatibility with later versions of base
hs-call-stack                    Support call stacks
hs-clock                         Access to high-resolution clocks and timers
hs-code-page                     Adjusting code pages on Windows
hs-colour                        Data type for colors and transparency
hs-concurrent-output             Ungarble output from several threads
hs-cryptohash-md5                Pure MD5 implementation
hs-cryptohash-sha1               Pure SHA-1 implementation
hs-cryptohash-sha256             Pure SHA-256 implementation
hs-data-endian                   Endian-sensitive data
hs-dbus                          Client for the D-Bus IPC system
hs-disk-free-space               Retrieving information about disk space usage
hs-doctemplates                  Pandoc-style document templates
hs-ed25519                       Ed25519 public-key signature system
hs-fdo-notify                    FreeDesktop.org's Desktop Notifications
hs-fixed                         Signed 15.16 precision fixed point arithmetic
hs-fmlist                        FoldMap lists
hs-foundation                    Custom Prelude
hs-gitrev                        Compile-time git revision info
hs-graphviz                      Binding for the GraphViz library
hs-hackage-security              Tools for securing the Hackage package server
hs-half                          Half-precision floating-point
hs-haskell-lexer                 Fully compliant Haskell 98 lexer
hs-http-api-data                 Converting types to and from HTTP API data
hs-integer-logarithms            Integer logarithms implementation
hs-io-streams                    Easy-to-use primitives for I/O using streams
hs-io-streams-haproxy            HAProxy protocol version 1.5 support
hs-magic                         Binding to the libmagic library
hs-microlens                     Microlens
hs-microlens-th                  Automated generation of lenses
hs-microstache                   Mustache templates
hs-monad-unlift                  Type classes for unlifting monad transformers
hs-monadplus                     Partial maps and filters over MonadPlus
hs-mono-traversable-instances    Extra type classes for mono-traversable
hs-mountpoints                   Listing currently mounted filesystems
hs-newtype-generics              Full replacement of newtype
hs-pretty-show                   Working with derived Show instances
hs-process-extras                Read process input/output as ByteString/Text
hs-psqueues                      Priority Search Queues
hs-readable                      Reading data types from ByteString/Text
hs-refact                        Data type for apply-refact
hs-regex-pcre                    PCRE backend to accompany regex-base
hs-safe-exceptions               Safe, consistent, and easy exception handling
hs-say                           Send messages to handles in a thread-safe way
hs-scanner                       Incremental combinator parser for ByteStrings
hs-skylighting                   Syntax highlighting library binding
hs-terminal-size                 Get terminal window sizes without ncurses
hs-text-short                    Data type for keeping short strings in memory
hs-th-abstraction                Inspecting types via Template Haskell
hs-th-lift                       Derive Template Haskell's Lift class
hs-th-lift-instances             Orphan instances for commonly used types
hs-tls-session-manager           TLS session manager
hs-typed-process                 Launching/interaction with external processes
hs-unexceptionalio               IO without non-error/synchronous exceptions
hs-uri-bytestring                RFC3986 compliant URI parser
hs-uri-bytestring-aeson          Aeson instance for URI.ByteString
hs-wl-pprint-text                Version of wl-pprint to use Text

Updated ports (314):

hs-ALUT                                  2.4.0.0_1        --> 2.4.0.2
hs-Agda                                  2.4.2.3          --> 2.5.2
hs-Agda-stdlib                           0.9_1            --> 0.13
hs-BNFC                                  2.8              --> 2.8.1
hs-Boolean                               0.2.3            --> 0.2.4
hs-DAV                                   1.0.7            --> 1.3.1
hs-DRBG                                  0.5.4            --> 0.5.5
hs-Diff                                  0.3.2            --> 0.3.4
hs-GLURaw                                1.5.0.1          --> 2.0.0.3
hs-GLUT                                  2.7.0.1_1,1      --> 2.7.0.12,1
hs-Glob                                  0.7.5_2          --> 0.8.0
hs-HStringTemplate                       0.8.3            --> 0.8.6
hs-HTTP                                  4000.2.20        --> 4000.3.7
hs-HUnit                                 1.2.5.2_7        --> 1.6.0.0
hs-HaXml                                 1.25.3           --> 1.25.4
hs-HsOpenSSL                             0.11.1.1         --> 0.11.4.9
hs-JuicyPixels                           3.2.6            --> 3.2.8.2
hs-List                                  0.5.2            --> 0.6.0
hs-MemoTrie                              0.6.2_2          --> 0.6.8
hs-MissingH                              1.3.0.1          --> 1.4.0.1
hs-MonadRandom                           0.4              --> 0.5.1
hs-ObjectName                            1.1.0.0          --> 1.1.0.1
hs-OpenAL                                1.7.0.0          --> 1.7.0.4
hs-OpenGL                                2.12.0.1,1       --> 3.0.2.0,1
hs-OpenGLRaw                             2.5.1.0_1        --> 3.2.4.0
hs-QuickCheck                            2.8.1            --> 2.10.0.1
hs-RSA                                   2.1.0.1          --> 2.3.0
hs-ReadArgs                              1.2.2            --> 1.2.3
hs-STMonadTrans                          0.3.3            --> 0.4.3
hs-StateVar                              1.1.0.1          --> 1.1.0.4
hs-TypeCompose                           0.9.10_2         --> 0.9.12
hs-activehs                              0.3.1_12         --> 0.3.2
hs-activehs-base                         0.3.0.2_9        --> 0.3.0.4
hs-adjunctions                           4.2.1            --> 4.3
hs-aeson                                 0.8.0.2          --> 1.2.1.0
hs-aeson-pretty                          0.7.2            --> 0.8.5
hs-alex                                  3.1.4            --> 3.2.1
hs-ansi-terminal                         0.6.2.1          --> 0.6.3.1
hs-asn1-data                             0.7.1_9          --> 0.7.2
hs-asn1-encoding                         0.9.0            --> 0.9.5
hs-asn1-parse                            0.9.1            --> 0.9.4
hs-asn1-types                            0.3.0            --> 0.3.2
hs-async                                 2.0.2            --> 2.1.1.1
hs-atomic-primops                        0.8              --> 0.8.0.4
hs-attoparsec                            0.12.1.6         --> 0.13.1.0
hs-authenticate                          1.3.2.11         --> 1.3.3.2
hs-auto-update                           0.1.2.2          --> 0.1.4
hs-aws                                   0.12.1           --> 0.16
hs-base-orphans                          0.4.4            --> 0.6
hs-basic-prelude                         0.5.0            --> 0.6.1.1
hs-bifunctors                            5                --> 5.4.2
hs-blaze-builder                         0.4.0.1          --> 0.4.0.2
hs-blaze-html                            0.8.1.0          --> 0.9.0.1
hs-blaze-markup                          0.7.0.2          --> 0.8.0.0
hs-brainfuck                             0.1.0.2          --> 0.1.0.3
hs-c2hs                                  0.28.1_1         --> 0.28.2_1
hs-cabal-install                         1.22.6.0         --> 1.24.0.2
hs-cairo                                 0.13.1.0         --> 0.13.3.1
hs-case-insensitive                      1.2.0.4          --> 1.2.0.10
hs-cassava                               0.4.3.1          --> 0.5.0.0
hs-cereal                                0.4.1.1          --> 0.5.4.0
hs-cgi                                   3001.2.2.2,1     --> 3001.3.0.2,1
hs-checkers                              0.4.3            --> 0.4.7
hs-chunked-data                          0.2.0            --> 0.3.0
hs-cipher-aes128                         0.7.0.1          --> 0.7.0.3
hs-classy-prelude                        0.12.1.1         --> 1.2.0.1
hs-classy-prelude-conduit                0.12.0.1         --> 1.2.0
hs-clientsession                         0.9.1.1          --> 0.9.1.2
hs-cmark                                 0.4.0.1          --> 0.5.5.1
hs-cmdargs                               0.10.13          --> 0.10.17
hs-comonad                               4.2.7.2          --> 5.0.1
hs-conduit                               1.2.5            --> 1.2.11
hs-conduit-combinators                   1.0.3            --> 1.1.1
hs-conduit-extra                         1.1.9.1          --> 1.1.16
hs-connection                            0.2.5            --> 0.2.8
hs-constraints                           0.4.1.3          --> 0.9.1
hs-contravariant                         1.3.2            --> 1.4
hs-cookie                                0.4.1.6          --> 0.4.2.1
hs-cpphs                                 1.19             --> 1.20.8
hs-criterion                             1.1.0.0          --> 1.2.1.0
hs-cryptohash                            0.11.6_2         --> 0.11.9
hs-cryptohash-cryptoapi                  0.1.3_2          --> 0.1.4
hs-cryptonite                            0.6              --> 0.24
hs-css-text                              0.1.2.1_2        --> 0.1.2.2
hs-darcs                                 2.10.1           --> 2.12.5
hs-data-default                          0.5.3_7          --> 0.7.1.1
hs-data-default-class                    0.0.1_7          --> 0.1.2.0
hs-data-default-instances-base           0.0.1_7          --> 0.1.0.1
hs-data-lens                             2.10.7           --> 2.11.1
hs-data-lens-template                    2.1.9            --> 2.2
hs-data-pprint                           0.2.4            --> 0.2.4.1
hs-deepseq-generics                      0.1.1.2          --> 0.2.0.0
hs-dia-base                              0.1.1.3          --> 0.1.1.4
hs-directory-tree                        0.12.0_2         --> 0.12.1
hs-distributive                          0.4.4_2          --> 0.5.2
hs-dlist                                 0.7.1.1          --> 0.8.0.3
hs-dlist-instances                       0.1_2            --> 0.1.1.1
hs-dns                                   2.0.0            --> 2.0.10
hs-double-conversion                     2.0.1.0          --> 2.0.2.0
hs-either                                4.4.1            --> 4.4.1.1
hs-ekg                                   0.4.0.8          --> 0.4.0.13
hs-ekg-core                              0.1.1.0          --> 0.1.1.1
hs-ekg-json                              0.1.0.0          --> 0.1.0.5
hs-email-validate                        2.1.3            --> 2.3
hs-enclosed-exceptions                   1.0.1.1          --> 1.0.2
hs-entropy                               0.3.7            --> 0.3.8
hs-equivalence                           0.3.1            --> 0.3.2
hs-errors                                2.0.0            --> 2.2.1
hs-esqueleto                             2.4.1            --> 2.5.3
hs-exceptions                            0.8.0.2          --> 0.8.3
hs-extra                                 1.4.1            --> 1.6
hs-fast-logger                           2.4.1            --> 2.4.10
hs-feed                                  0.3.10.0         --> 0.3.12.0
hs-fgl                                   5.5.2.1          --> 5.5.3.1
hs-file-embed                            0.0.9            --> 0.0.10
hs-filestore                             0.6.1            --> 0.6.3.1
hs-free                                  4.12.1           --> 4.12.4
hs-gconf                                 0.13.0.2         --> 0.13.1.0
hs-generic-deriving                      1.8.0            --> 1.11.2
hs-geniplate-mirror                      0.7.1            --> 0.7.5
hs-ghc-events                            0.4.4.0          --> 0.6.0
hs-gio                                   0.13.1.0         --> 0.13.3.1
hs-git-annex                             5.20150727_1     --> 6.20170520
hs-gitit                                 0.11.1           --> 0.12.2.1
hs-glib                                  0.13.1.1         --> 0.13.4.1
hs-gnuidn                                0.2.1_3          --> 0.2.2
hs-gtk                                   0.13.9           --> 0.14.6
hs-gtk2hs                                0.13,1           --> 0.13.2.2,1
hs-gtk2hs-buildtools                     0.13.0.4_1       --> 0.13.2.2
hs-gtksourceview2                        0.13.1.3         --> 0.13.3.1
hs-haddock                               2.16.1           --> 2.17.5
hs-haddock-api                           2.16.1           --> 2.17.4
hs-haddock-library                       1.2.1            --> 1.4.3
hs-happstack-server                      7.4.4            --> 7.4.6.4
hs-hashable                              1.2.3.3,1        --> 1.2.6.1,1
hs-hashtables                            1.2.0.2          --> 1.2.1.1
hs-haskell-src-exts                      1.16.0.1         --> 1.19.1
hs-hasktags                              0.69.1           --> 0.69.3
hs-hedis                                 0.6.9            --> 0.9.8
hs-heist                                 0.14.1.1         --> 1.0.1.0
hs-hexpat                                0.20.9           --> 0.20.13
hs-highlighting-kate                     0.6              --> 0.6.4
hs-hinotify                              0.3.8.1          --> 0.3.9
hs-hint                                  0.4.2.3          --> 0.7.0
hs-hjsmin                                0.1.5.0          --> 0.2.0.2
hs-hlint                                 1.9.21           --> 2.0.9
hs-hoauth2                               0.4.8            --> 0.5.9
hs-hoogle                                4.2.41           --> 5.0.12
hs-hourglass                             0.2.9            --> 0.2.10
hs-hscolour                              1.23,1           --> 1.24.1,1
hs-hslogger                              1.2.9            --> 1.2.10
hs-hslua                                 0.4.0            --> 0.5.0
hs-hspec                                 2.1.10           --> 2.4.4
hs-hspec-core                            2.1.10           --> 2.4.4
hs-hspec-discover                        2.1.10           --> 2.4.4
hs-hspec-expectations                    0.7.1            --> 0.8.2
hs-html-conduit                          1.2.0            --> 1.2.1.1
hs-http-client                           0.4.20           --> 0.5.7.0
hs-http-client-tls                       0.2.2_2          --> 0.3.5.1
hs-http-conduit                          2.1.8            --> 2.2.3.1
hs-http-reverse-proxy                    0.4.2            --> 0.4.4
hs-http-types                            0.8.6            --> 0.9.1
hs-http2                                 1.0.4            --> 1.6.3
hs-hxt                                   9.3.1.15         --> 9.3.1.16
hs-hxt-regex-xmlschema                   9.2.0.2          --> 9.2.0.3
hs-ieee754                               0.7.6            --> 0.8.0
hs-iproute                               1.5.0            --> 1.7.1
hs-js-jquery                             1.11.3           --> 3.2.1
hs-kan-extensions                        4.2.2            --> 5.0.2
hs-keys                                  3.10.2           --> 3.11
hs-kqueue                                0.1.2.6_2        --> 0.2
hs-language-c                            0.5.0            --> 0.6.1
hs-language-javascript                   0.5.14.2         --> 0.6.0.10
hs-largeword                             1.2.3_2          --> 1.2.5
hs-lens                                  4.12.3           --> 4.15.3
hs-libmpd                                0.9.0.2          --> 0.9.0.6
hs-lifted-async                          0.7.0.1          --> 0.9.3
hs-lifted-base                           0.2.3.6          --> 0.2.3.11
hs-map-syntax                            0.2              --> 0.2.0.2
hs-math-functions                        0.1.5.2_2        --> 0.2.1.0
hs-memory                                0.8              --> 0.14.6
hs-mime-mail                             0.4.9            --> 0.4.13.1
hs-mime-types                            0.1.0.6          --> 0.1.0.7
hs-mmorph                                1.0.4            --> 1.1.0
hs-monad-control                         1.0.0.4          --> 1.0.2.1
hs-monad-logger                          0.3.13.2         --> 0.3.24
hs-monad-par                             0.3.4.7          --> 0.3.4.8
hs-monadcryptorandom                     0.6.1_2          --> 0.7.1
hs-monads-tf                             0.1.0.2_2        --> 0.1.0.3
hs-mono-traversable                      0.9.2.1          --> 1.0.2
hs-mueval                                0.9.1.1.2        --> 0.9.3
hs-murmur-hash                           0.1.0.8          --> 0.1.0.9
hs-mutable-containers                    0.3.2            --> 0.3.3
hs-mwc-random                            0.13.3.2         --> 0.13.6.0
hs-mysql                                 0.1.1.8          --> 0.1.4
hs-network                               2.6.2.1          --> 2.6.3.2
hs-network-info                          0.2.0.7          --> 0.2.0.8
hs-network-multicast                     0.1.0            --> 0.2.0
hs-network-uri                           2.6.0.3          --> 2.6.1.0
hs-nonce                                 1.0.2            --> 1.0.4
hs-oeis                                  0.3.6            --> 0.3.9
hs-optparse-applicative                  0.11.0.2         --> 0.14.0.0
hs-pandoc                                1.15.0.6_1       --> 1.19.2.1
hs-pandoc-citeproc                       0.7.3.1          --> 0.10.5.1
hs-pandoc-types                          1.12.4.5         --> 1.19
hs-pango                                 0.13.1.0         --> 0.13.3.1
hs-parallel                              3.2.0.6          --> 3.2.1.1
hs-parsec                                3.1.9            --> 3.1.11
hs-path-pieces                           0.2.0            --> 0.2.1
hs-pcre-light                            0.4.0.3          --> 0.4.0.4
hs-persistent                            2.2              --> 2.7.0
hs-persistent-sqlite                     2.2              --> 2.6.2
hs-persistent-template                   2.1.3.4          --> 2.5.2
hs-pointed                               4.2.0.2          --> 5
hs-polyparse                             1.11             --> 1.12
hs-prelude-extras                        0.4_2            --> 0.4.0.3
hs-primitive                             0.6              --> 0.6.2.0
hs-probability                           0.2.4.1_2        --> 0.2.5.1
hs-profunctors                           5.1.1            --> 5.2
hs-pureMD5                               2.1.2.1_10       --> 2.1.3
hs-quickcheck-io                         0.1.1_2          --> 0.2.0
hs-reflection                            2                --> 2.1.2
hs-regex-applicative                     0.3.2.1          --> 0.3.3
hs-regex-tdfa                            1.2.0_2          --> 1.2.2
hs-resourcet                             1.1.6            --> 1.1.9
hs-safe                                  0.3.9            --> 0.3.15
hs-sandi                                 0.3.5            --> 0.4.0
hs-scientific                            0.3.3.8          --> 0.3.5.1
hs-semigroupoids                         5.0.0.3          --> 5.2
hs-semigroups                            0.16.2.2         --> 0.18.3
hs-setlocale                             1.0.0.4          --> 1.0.0.5
hs-shake                                 0.15.5           --> 0.15.11
hs-shakespeare                           2.0.5            --> 2.0.13
hs-shelly                                1.6.3.3          --> 1.6.8.3
hs-simple-sendfile                       0.2.21           --> 0.2.25
hs-skein                                 1.0.9.3          --> 1.0.9.4
hs-snap                                  0.14.0.6         --> 1.0.0.1
hs-snap-core                             0.9.7.2          --> 1.0.2.1
hs-snap-server                           0.9.5.1          --> 1.0.2.2
hs-socks                                 0.5.4_2          --> 0.5.5
hs-split                                 0.2.2_7          --> 0.2.3.2
hs-statistics                            0.13.2.3         --> 0.14.0.2
hs-stm                                   2.4.4            --> 2.4.4.1
hs-streaming-commons                     0.1.12.1         --> 0.1.18
hs-svgcairo                              0.13.0.3         --> 0.13.1.1
hs-syb                                   0.5.1            --> 0.7
hs-syb-with-class                        0.6.1.6          --> 0.6.1.7
hs-tagged                                0.8.1            --> 0.8.5
hs-tagsoup                               0.13.3           --> 0.14.1
hs-tar                                   0.4.2.1          --> 0.5.0.3
hs-temporary                             1.2.0.3_2        --> 1.2.1
hs-test-framework-hunit                  0.3.0.1_2        --> 0.3.0.2
hs-test-framework-quickcheck2            0.3.0.3_2        --> 0.3.0.4
hs-texmath                               0.8.3            --> 0.9.4.1
hs-text                                  1.2.1.3          --> 1.2.2.2
hs-threads                               0.5.1.3          --> 0.5.1.4
hs-threadscope                           0.2.7            --> 0.2.8
hs-time-locale-compat                    0.1.1.0          --> 0.1.1.3
hs-timezone-olson                        0.1.7            --> 0.1.8
hs-timezone-series                       0.1.5.1          --> 0.1.8
hs-tls                                   1.3.1            --> 1.3.11
hs-torrent                               10000.0.0        --> 10000.1.1
hs-transformers-compat                   0.4.0.4          --> 0.5.1.4
hs-unix-compat                           0.4.1.4          --> 0.4.3.1
hs-unix-time                             0.3.5            --> 0.3.7
hs-unlambda                              0.1.4.1          --> 0.1.4.2
hs-unordered-containers                  0.2.5.1          --> 0.2.8.0
hs-uri                                   0.1.6.3          --> 0.1.6.4
hs-utf8-string                           1                --> 1.0.1.1
hs-utility-ht                            0.0.10_2         --> 0.0.14_2
hs-uuid                                  1.3.11           --> 1.3.13
hs-uuid-types                            1.0.2            --> 1.0.3
hs-uulib                                 0.9.20           --> 0.9.22
hs-vault                                 0.3.0.4          --> 0.3.0.7
hs-vector                                0.10.12.3        --> 0.12.0.1
hs-vector-binary-instances               0.2.1.0_2        --> 0.2.3.5
hs-vector-instances                      3.3.1            --> 3.4
hs-vector-space                          0.10.2           --> 0.10.4
hs-vector-th-unbox                       0.2.1.2          --> 0.2.1.6
hs-void                                  0.7              --> 0.7.2
hs-vte                                   0.13.0.2         --> 0.13.1.1
hs-wai                                   3.0.3.0          --> 3.2.1.1
hs-wai-app-static                        3.1.1            --> 3.1.6.1
hs-wai-extra                             3.0.10           --> 3.0.20.0
hs-wai-logger                            2.2.4.1          --> 2.3.0
hs-warp                                  3.1.3            --> 3.2.13
hs-warp-tls                              3.1.1            --> 3.2.4
hs-webkit                                0.13.1.3         --> 0.14.2.1
hs-wx                                    0.91.0.0         --> 0.92.3.0
hs-wxc                                   0.91.0.0         --> 0.92.3.0
hs-wxcore                                0.91.0.0         --> 0.92.3.0
hs-wxdirect                              0.91.0.0         --> 0.92.3.0
hs-x509                                  1.6.0            --> 1.6.5
hs-x509-store                            1.6.0            --> 1.6.2
hs-x509-system                           1.6.0            --> 1.6.4
hs-x509-validation                       1.6.0            --> 1.6.5
hs-xml-conduit                           1.3.1            --> 1.5.1
hs-xml-hamlet                            0.4.0.11         --> 0.4.1
hs-xmlhtml                               0.2.3.4          --> 0.2.4
hs-xmobar                                0.24.3           --> 0.24.5
hs-xss-sanitize                          0.3.5.6          --> 0.3.5.7
hs-yaml                                  0.8.13           --> 0.8.23.1
hs-yesod                                 1.4.1.5          --> 1.4.5
hs-yesod-auth                            1.4.6            --> 1.4.17.2
hs-yesod-auth-hashdb                     1.4.2.2          --> 1.6.1
hs-yesod-bin                             1.4.13.3         --> 1.5.2.3
hs-yesod-core                            1.4.13           --> 1.4.35
hs-yesod-form                            1.4.4.1          --> 1.4.12
hs-yesod-persistent                      1.4.0.3          --> 1.4.2
hs-yesod-static                          1.5.0.2          --> 1.5.3
hs-yesod-test                            1.4.3.1          --> 1.5.7
hs-zip-archive                           0.2.3.7          --> 0.3.1.1
hs-zlib                                  0.5.4.2          --> 0.6.1.2
scroll                                   1.20151219       --> 1.20170122

Removed ports (5):

hs-MonadCatchIO-mtl                 Deprecated in favor of exceptions
hs-MonadCatchIO-transformers        Deprecated in favor of exceptions
hs-citeproc-hs                      Replaced by pandoc-citeproc
hs-directory                        Part of the packages shipped with GHC
hs-syb-with-class-instances-text    Upstream is unmaintained

This was created together with pgj@.

Reviewed by:		pgj, 6yearold_gmail.com
Differential Revision:	https://reviews.freebsd.org/D11558
2017-08-08 17:21:45 +00:00
Nikolai Lifanov
327751a539 add new stage-qa target: gemdeps
This checks whether rubygem ports have all of their dependencies
in gemspec satisfied by what's currently installed. Sample output:

====> Running Q/A tests (stage-qa)
Error: RubyGem dependency archive-tar-minitar = 0.5.2 is not satisfied.
*** Error code 1

Stop.
make: stopped in /usr/home/lifanov/src/svn/freebsd/ports/head/archivers/rubygem-fpm

These ports would be broken at runtime.

Big thanks to:
  swills - discussion
  mat - reviews
  antoine - exp runs
  sunpoet - fixing several dozens of ports :)

PR:		220605
Reviewed by:	mat, sunpoet
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D11841
2017-08-07 19:09:41 +00:00
Koop Mast
3d842c21b9 Add gstreamer 0.10 and 1.0 hints to the qa script.
Approved by:	portmgr (bapt@)
Differential Revision:	https://reviews.freebsd.org/D11610
2017-08-05 22:07:45 +00:00
Bryan Drewery
6120a2f751 Exec less rm(1) for existing files.
Reported by:	mjg
Approved by:	portmgr (implicit)
2017-07-28 20:30:44 +00:00
Gerald Pfeifer
fe8181378f Ignore info/*/dir (as used by the lang/gcc* ports, for example) in addition
to */info/dir and info/dir.

PR:		219274
Approved by:	portmgr (mat)
2017-07-19 22:29:54 +00:00
Tobias Kortkamp
05b30a8d06 When specifying Git dependencies in Cargo.toml developers can set 3
additional keys: rev, branch, tag [1].  These are reflected in a
projects' Cargo.lock file as e.g.

git+https://github.com/servo/angle?branch=servo#a1371e8a160128677af863d1d73f150862ba42b2
git+https://github.com/rust-lang/libc?tag=0.2.26#288942e6858a4b2f8ee56338da5386263b9c4b82

Currently cargo-crates.awk generates the wrong output in these cases:

GH_TUPLE=	servo:angle?branch=servo:a1371e8a160128677af863d1d73f150862ba42b2:angle \
		rust-lang:libc?tag=0.2.26:288942e6858a4b2f8ee56338da5386263b9c4b82:libc

Fix cargo-crates.awk to ignore the query string (except in the tag
case) and generate

GH_TUPLE=	servo:angle:a1371e8a160128677af863d1d73f150862ba42b2:angle \
		rust-lang:libc:0.2.26:libc

instead.

[1] https://github.com/rust-lang/cargo/blob/master/src/doc/specifying-dependencies.md#specifying-dependencies-from-git-repositories

PR:		220548
Reported by:	jbeich
Reviewed by:	jbeich, mat
Differential Revision:	https://reviews.freebsd.org/D11571
2017-07-19 14:00:16 +00:00
Mathieu Arnold
5fb8017b6b Fix using more than one files in UID_FILES and GID_FILES.
Repeat after me: If you change IFS, it will break something unexpected.

The problem is that we use IFS to change read's field separator.  This
has the side effect of changing how sh(1) splits all string, including
in command parsing functions.

In this case, unless quoted, the strings are always splitted using IFS.
So changing IFS will change how these strings are splitted, and you end
up having a headache.  For example:

    $ GID_FILES="foo bar"
    $ set -x
    $ echo $GID_FILES
    + echo foo bar
    foo bar

    $ IFS=:
    $ GID_FILES="foo bar"
    $ set -x
    $ echo $GID_FILES
    + echo 'foo bar'
    foo bar

In the first case, it runs echo with two arguments, first is foo, second is bar.
In the second case, it runs echo with one argument, 'foo bar'.

To fix this, restrict the time during which IFS changes to only one
command, set, and use positional parameters to extract values.

Reported by:	feld
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11632
2017-07-19 11:55:46 +00:00
Tobias Kortkamp
1db23587bd Add USES=cargo to make creating ports of Rust applications easier
Approved by:	mat (mentor)
Reviewed by:	dumbbell, mat
Differential Revision:	https://reviews.freebsd.org/D11162
2017-06-21 16:22:32 +00:00
David Naylor
9920d3ae65 qa: add check for NO_ARCH
If NO_ARCH is set then check that no FreeBSD elf(5) files are in $STAGEDIR.
If an elf(5) file is bundles as part of the package, but is not meant to be
run directly (i.e. the elf(5) file is a payload, and not compiled) then
those files can be added to NO_ARCH_IGNORE to avoid the check from failing,

Changes to ports:
 - Ports that have NO_ARCH set, but actually compile files have had NO_ARCH
   removed.
 - Ports that have elf(5) payloads have had those files added to
   NO_ARCH_IGNORE.
 - R-cran ports that do not set USES=cran:compiles have NO_ARCH set,

PR:		218976
Reviewed by:	antoine, mat
Approved by:	portmgr
2017-06-18 18:09:16 +00:00
Matthew Rezny
e6acde078c Consolidate the Mesa ports, update to 17.0.4, and add Wayland option
* libGL, libEGL, libglesv2, libglapi, and gbm have been moved into mesa-libs,
  graphics/dri has been renamed to mesa-dri, and USE_GL has been adjusted
* mesa-libs has a new WAYLAND option that enables platform support in libEGL
* mesa-dri now depends on graphics/s2tc for compressed texture support [1]
* re-remove obsolete dependency on makedepends [2]
* correct sed fix backported from 17.1 [3]

PR:		218799 (exp-run), 212762 [1], 218552 [2], 218562 [3]
Submitted by:	dbn [1], jbeich [2,3]
Reported by:	afiskon@devzen.ru [1]
Reviewed by:	kwm, johalun0@gmail.com
Approved by:	portmgr, swills (mentor)
Differential Revision:  https://reviews.freebsd.org/D10448
2017-05-12 18:46:53 +00:00
Mathieu Arnold
15da6f6fbc Sometime, USES=iconv does not bring in the required dependency.
Reported by:	kwm
Sponsored by:	Absolight
2017-05-10 13:03:31 +00:00
Dmitry Marakasov
60f77099e1 - Add /bin/rc to blacklist for qa.sh, since it's not available on FreeBSD
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D10426
2017-04-21 08:56:32 +00:00
Dmitry Marakasov
c927ccddc4 Treat python shebangs without version specified (e.g. `/usr/local/bin/python'
and `/usr/bin/env python') as invalid, because ports always depend on specific
version of python (e.g. python2 or python3), and generic `python'
which is link to either of them may point to incorrect version or
be not available at all (since it's installed by separate optional
python metaport)

Approved by:	portmgr (mat), python (sunpoet)
Differential Revision:	D9332
2017-04-10 15:21:25 +00:00
Dmitry Marakasov
e558d8633d Don't limit Q/A check for bad shebangs with just bin, sbin, libexec
and www. Scripts (with possibly incorrect shebangs) may be located
anywhere in ${PREFIX}, including, for instance, lib/ (multimedia/lives):

Error: '/usr/bin/perl' is an invalid shebang you need USES=shebangfix for 'lib/lives/plugins/effects/rendered/colour_replace'

and ${DATADIR}/ (databases/cego):

Error: '/bin/bash' is an invalid shebang you need USES=shebangfix for 'share/cego/cgbackup'

There may be some more false positives, but broken scripts are much
more severe problem. There's also whitelist mechanism which lets
you ignore shebangs for certain kinds of files (like .pm) which may
be extended to fix FPs

Approved by:	portmgr (swills)
Differential Revision:	D8923
2017-04-10 14:19:25 +00:00
Mathieu Arnold
8b27ee4a62 The lang/perl5* ports are allowed to have their shebangs pointing to the
versionned binaries.

Sponsored by:	Absolight
2017-04-04 14:06:41 +00:00
Baptiste Daroussin
067df085eb Finish removal of gal2 2017-04-01 22:21:32 +00:00
Baptiste Daroussin
cdd9171c1c Remove more obsolete gnome2 components 2017-04-01 22:05:39 +00:00
Baptiste Daroussin
ba0c69cb4e Catchup with recent removals 2017-04-01 20:15:36 +00:00
Bryan Drewery
7568613077 ports_env: Fix OPSYS not being exported.
This was causing excessive 'uname -s' executions during Poudriere dependency
calculations.  The reasoning is due to HAVE_COMPAT_IA32_KERN having a newline
quoted at the end of it as '\ ' by bmake:

  # make -f Mk/bsd.port.mk -V 'HAVE_COMPAT_IA32_KERN=${HAVE_COMPAT_IA32_KERN:Q}' | cat -v
  HAVE_COMPAT_IA32_KERN=YES\

This resulted in the following being executed:

  export HAVE_COMPAT_IA32_KERN="YES OPSYS=FreeBSD"

With hat:	portmgr
2017-02-17 22:22:27 +00:00
Koop Mast
50a34a0774 Now that all supported FreeBSD versions support libmap.conf files installed
from ports, remove the symlink dance with libGL/libEGL/libgles and the
nvidia-driver ports.

* Revert libGL/libEGL/libglesv2 ports to normal.
* Rename the conflicting libraries from the nvidia-driver ports with a
  -NVIDIA prefix and install a libmap.conf file to map to these versions.
* Remove the special case from Mk/Scripts/qa.sh for libGL and libEGL.
* Sadly the symlink dance between nvidia-driver and xorg-server for glx.so
  need to stay, due to xorg-server opening that file with dlopen(3).

Approved by:	portmgr@ (mat@ (prio version))
Differential Revision:	https://reviews.freebsd.org/D7848
2017-02-11 16:43:11 +00:00
Mathieu Arnold
a345c5cf11 Tell Module::Build to use LOCALBASE/bin/perl and not
LOCALBASE/bin/perl5.xx.y.

Add a QA check to test for it.

Sponsored by:	Absolight
2017-01-31 16:21:22 +00:00
Mathieu Arnold
ce82850852 Remove some code added in r858[1], still don't know what it was supposed to
be doing at the time.

When fetching, the code was looking for a distfile in either its
DIST_SUBDIR or the main DISTDIR, which was ok.  Until a port
(devel/cargo) moves one of its distfile
(cargo-nightly-x86_64-unknown-freebsd.tar.gz) into a subdirectory.
do-fetch would see the distfile in DISTDIR and say, ok, it's there, and
checksum would not see it in its subdirectory and fail.

1: phabricator's blame mode is really, really, great to unroll history.

PR:		216442
Submitted by:	mat
Reported by:	Bob Willcox, dhw (on ports)
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D9318
2017-01-28 10:52:20 +00:00
Mathieu Arnold
adcd75b823 Provide a port/perl module mapping utility.
Sometime, Perl ports names do not map to the modules they provide
easily, and it makes it impossible to check for the existence of those
modules in Perl core.

Sponsored by:	Absolight
2017-01-19 15:06:38 +00:00
Tijl Coosemans
02f27a83b4 The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user.  Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables.  LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well.  The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.

Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).

PR:		215882
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2017-01-18 13:20:31 +00:00
Mathieu Arnold
49152b839d Implement EXTRA_PATCH_TREE.
PR:		215726
Reported by:	julian
2017-01-16 16:47:05 +00:00
Mathieu Arnold
1cc9fcd1c7 Extract do-patch into a separate script.
PR:		215761
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D9029
2017-01-16 16:47:00 +00:00
Rene Ladan
6f019c90b3 Remove support for FreeBSD < 10.3 from Mk/*
This does not yet convert the files to bmake.

Reviewed by:	mat
Differential Revision:	https://reviews.freebsd.org/D9016
2017-01-03 07:24:49 +00:00
Baptiste Daroussin
ddf28d222b Use dp_DISTINFO_FILE instead of DISTINFO_FILE 2016-12-18 21:43:24 +00:00
Mathieu Arnold
6e9240dfb1 Report the binary with bad linking.
Sponsored by:	Absolight
2016-12-09 14:24:07 +00:00
Sunpoet Po-Chuan Hsieh
ae0db8070b - Skip soname check if ${STAGEDIR}${PREFIX}/lib directory does not exist
Differential Revision:	https://reviews.FreeBSD.org/D8697
Approved by:	mat (portmgr)
2016-12-03 21:30:08 +00:00
Tobias C. Berner
30a183cdd9 Importing KDE Frameworks into the ports tree (required for newer KDE Desktop and Applications)
KDE Frameworks is a collection of libraries and software frameworks by KDE
that serve as technological foundation for KDE Plasma 5 and KDE Applications
distributed under the GNU Lesser General Public License (LGPL) [1].

The work is based on what we have in the KDE testing repo [2].

This is the next big step in updating the KDE Desktop and its Applications
to anything less dusty.

With this change, `USES=kde:5` is now a valid option. Ports that need to depend
on KDE Framework can now set:
	USES=kde:5
	USE_KDE=<framework1> <framework2> ... <frameworkX>

For example: www/qupzilla-qt5 can depend on sysutils/kf5-kwallet via:
	KWALLET_USE=            KDE=wallet

I would like to thank Raphael and Adriaan for reviewing the ports in the testing
repo :)

[1] https://en.wikipedia.org/wiki/KDE_Frameworks
[2] http://src.mouf.net/area51/log/branches/plasma5

Reviewed by:	rakuco, mat, groot_kde.org
Approved by:	rakuco (maintainer)
Differential Revision:	https://reviews.freebsd.org/D8329
2016-11-14 16:12:56 +00:00
Antoine Brodin
428645d185 Fix directory creation when primary group is different from user name 2016-11-01 00:33:36 +00:00
Bryan Drewery
e73c0c591a Fix package upgrade setting wrong ownership on a package's $HOME.
This happens when the UID/GID doesn't match the expected number from
UIDs/GIDs.

https://github.com/freebsd/pkg/issues/1485 has more details.

With hat:	portmgr
Discussed with:	bapt, mat
2016-10-31 22:37:21 +00:00
Bryan Drewery
5851a354c5 Don't truncate DEPENDS_ARGS here.
This code seems unused though since bsd.port.mk has its own handling
for clean-depends.

PR:		212273
With hat:	portmgr
2016-10-31 20:54:50 +00:00
Mathieu Arnold
7c8e7b69a8 Add a Perl CORE QA check.
This will use Module::CoreList to tell you if a dependency you added can
be removed, or only conditionally added.

Approved by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7832
2016-10-29 10:10:33 +00:00
Mathieu Arnold
73a69a6388 Do not force a lookup in LOCALBASE/lib for shared libraries.
ldd should work correctly if rpath is set, and this adds false
positives.

PR:		213547
Submitted by:	John Hein
Sponsored by:	Absolight
2016-10-25 11:44:19 +00:00
Mathieu Arnold
e7064f0d41 Replace non breaking space \xa0 with a normal space.
Sponsored by:	Absolight
2016-10-20 13:19:39 +00:00
Mathieu Arnold
1ce1ab6ba3 Make make clean be recursive again.
PR:		213188
Submitted by:	tijl
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-18 15:27:25 +00:00
Koop Mast
c8776db59d Add ncurses suggestion to qa.sh.
Approved by:	portmgr (mat@)
Differential Revision:	https://reviews.freebsd.org/D7885
2016-09-13 20:35:34 +00:00
Mathieu Arnold
f999dd783a Provide a standard way to look up for executables and shared libraries.
PR:		211146
Submitted by:	yuri rawbw com
Sponsored by:	Absolight
2016-09-08 14:12:58 +00:00
Mathieu Arnold
63598e1919 Disable some checks for linux ports.
- shebang check: skip scripts in LINUXBASE.  Things like /bin/bash are
  valid in a Linux context.  Also, these scripts usually only work with
  a Linux shell so it doesn't make sense to try to make them work from a
  FreeBSD shell.
- prefixvar check: allow LINUXBASE/var.
- proxydeps check: only test FreeBSD ELF files because ldd(1) doesn't
  work with other ELF files.

PR:		212419
Submitted by:	tijl
Sponsored by:	Absolight
2016-09-08 14:12:41 +00:00
Tijl Coosemans
82a87de90c - Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
  USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
  ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
  are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling.  In the very rare cases
  that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling.  Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
  default versions framework.
- bsd.port.mk:
  - Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
  - Put USE_LINUX_PREFIX handling after USES processing.
  - Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
    give these variables a different default value.
  - When a package needs to run Linux ldconfig check before installation if
    Linux support is enabled.
- emulators/linux_base-*:
  - Use USES=linux and remove duplication.
  - Remove files/lp.  FreeBSD or CUPS lp(1) should work.
  - Remove files/yp.conf.  No longer seems to be used.
  - Remove pkg-deinstall and move pkg-install into pkg-plist.
  - Update pkg-descr and pkg-message.
  - Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
  to use FreeBSD mkdir so mkdir -p $path creates $path and not
  /compat/linux/$path.

PR:		211645
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-09-05 19:23:42 +00:00
Mathieu Arnold
ac80808e02 Add a stage-qa check to check for the existence of SONAME in .so's.
If a port provides .so.X files, they have to have a SONAME for them to
work correctly.

While there, incorporate a reverse soname checks in proxydeps.
A port that needs a .so.X from another port which does not have a
SONAME.

Reviewed by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7454
2016-08-29 15:23:52 +00:00
Mathieu Arnold
64a3179722 Use LIB_DEPENDS when appropriate in KDE components.
Lots of KDE components are providing libraries, and they were,
strangely, written as BUILD_ or RUN_DEPENDS, with a full path to the
library.  Change this so that if a component is needed at both build,
and, run-time, then it gets a LIB_DEPENDS.

Reviewed by:	rakuco, tcberner
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7625
2016-08-26 12:43:57 +00:00
Mathieu Arnold
d131b524b1 typo.
Submitted by:	wblock
Sponsored by:	Absolight
2016-08-17 08:55:35 +00:00
Mathieu Arnold
38efae9d84 Unbreak make missing.
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7504
2016-08-17 08:54:43 +00:00
Mathieu Arnold
74109de537 Only try to create DISTDIR if it does not exist already.
It turns out, some people, instead of setting DISTDIR, replace it with a
symlink pointing to where DISTDIR should be pointing.

And mkdir -p <symlink> fails.

PR:		211623
Reported by:	Harald Schmalzbauer
Sponsored by:	Absolight
2016-08-08 12:57:34 +00:00
Mathieu Arnold
a09e3f68ab Tell people to add USES=gettext-runtime, not USES=gettext.
This is done after the port has been built, so it is already building,
so it does not need to be added a BUILD_DEPENDS on gettext-tools.

Discussed with:	dumbbell
Sponsored by:	Absolight
2016-08-05 18:29:10 +00:00
Mathieu Arnold
b79eed7e66 Add a PKGMESSAGES variable that allows the framework to have more than
one PKGMESSAGE file.

This allows the framework to add messages to ports, without touching
their PKGMESSAGE file.

Sponsored by:	Absolight
2016-08-03 12:45:30 +00:00
Mathieu Arnold
816ca34d92 Only warn about symlinks that exist in the stage directory, or that
exist nowhere.

Sponsored by:	Absolight
2016-06-30 09:59:27 +00:00
Dmitry Marakasov
062a97e125 - Fix typo: "you need USES=nssl" -> "you need USES=ssl"
Approved by:	mat
Differential Revision:	D6997
2016-06-28 07:58:43 +00:00
Mathieu Arnold
639a283517 Catch up two instances of USE_OPENSSL.
Sponsored by:	Absolight
2016-06-27 13:26:17 +00:00
Mathieu Arnold
06b4ea3876 Replace bsd.openssl.mk with USES=ssl
Add a qa hint about needing, or not, USES=ssl.

Fix ports doing silly things, like including bsd.openssl.mk directly.

PR:		210322
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6866
2016-06-27 11:31:10 +00:00
Bryan Drewery
c203addf6d Fix package depends install not respecting DEPENDS_ARGS for the PKGFILE lookup.
This also optimizes the PKGBASE/PKGFILE lookup with the new port_var_fetch(),
which passes in the known DEPENDS_ARGS.
2016-06-24 05:04:33 +00:00
Bryan Drewery
5061f450c8 Add a function port_var_fetch() for fetching multiple variables from a port.
This is taken from Poudriere (uncommitted)
2016-06-24 05:03:34 +00:00
Bryan Drewery
97587b1a48 Show proper variable in error.
With hat:	portmgr
2016-06-24 04:53:45 +00:00
Mathieu Arnold
267e746730 Extend the symlink checks to warn on absolute targets.
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6930
2016-06-23 11:31:15 +00:00
Mathieu Arnold
5f1b1ae084 Extract create-manifest.
PR:		210198
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	The FreeBSD Foundation, Absolight
Differential Revision:	https://reviews.freebsd.org/D6779
2016-06-19 11:25:39 +00:00
Mathieu Arnold
5ba3aba7ff Reverse tests to decrease complexity.
PR:		210198
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	The FreeBSD Foundation, Absolight
Differential Revision:	https://reviews.freebsd.org/D6779
2016-06-19 11:25:35 +00:00
Mathieu Arnold
a2262e9313 Remove unnecessary evals that do-fetch was using.
Turns out that env(1) knows how to parse a properly quoted string
using -S "string", it makes the double eval used for the fetch
command to be unnecessary.

This is because running:
eval "foo $(escape $bar)"
is silly when this works:
foo $bar

So remove escaping and quoting, and sillyness.

PR:		210198
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	The FreeBSD Foundation, Absolight
Differential Revision:	https://reviews.freebsd.org/D6779
2016-06-19 11:25:29 +00:00
Mathieu Arnold
86cad8dff1 Simplify do-fetch, and remove now unused code.
Turns out that the DEFAULT, and other groups sites were handled in
a different way, ending up having the same code twice, but in
slightly different places.

PR:		210198
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	The FreeBSD Foundation, Absolight
Differential Revision:	https://reviews.freebsd.org/D6779
2016-06-19 11:24:39 +00:00
Mathieu Arnold
4d1c2e3e50 Add USE_OPENSSL to the proxy libs thing.
Sponsored by:	Absolight
2016-06-16 14:32:18 +00:00
Mathieu Arnold
8d3ade7517 Fix having the :DEFAULT MASTER_SITES entries ending up being there twice
in the end.

Sponsored by:	Absolight
2016-06-06 15:25:22 +00:00
Mathieu Arnold
06da80d826 Fix logic a bit, in case pkg is not installed (I guess.)
PR:		209754
Reported by:	Nick Evans
Sponsored by:	Absolight
2016-06-04 09:35:21 +00:00
Mathieu Arnold
0abe36d5be Fix fetch-list and fetch-url-list-int when DISTDIR is not writable.
PR:		209820
Reported by:	amdmi3
Sponsored by:	Absolight
2016-05-29 08:02:28 +00:00
Dmitry Marakasov
79302ffde3 Fix sed command in proxydeps_suggest_uses qa.sh check
It led to incorrect "you need USE_XORG+" suggestion

Submitted by:	amdmi3
Approved by:	portmgr (bapt)
Differential Revision:	D6618
2016-05-28 17:16:03 +00:00
Baptiste Daroussin
c4407c70ba Fix make check-plist with new @xmlcatmgr keyword 2016-05-25 18:46:58 +00:00
Baptiste Daroussin
c3dba507a0 Ensure dp_PKGNAME has been passed to check-vulnerable 2016-05-25 18:46:29 +00:00
Mathieu Arnold
3255095c16 Extract the larger bsd.port.mk targets into separate scripts.
Refactor all the fetch code so that there are not 6 slightly different
versions of it but one that does it all.

The targets that have been extracted are:
- check-vulnerable
- do-fetch
- fetch-list
- fetch-url-list-int
- fetch-urlall-list
- checksum.
- makesum.
- check-checksum-algorithms

Run the fetch code directly from make makesum instead of calling make
fetch, this is because some port change the options with OPTIONS_*_FORCE
when make(makesum) to be able to add all distfiles in one go, which was
a nice, non working, idea.

PR:		208916
Submitted by:	mat
Exp-run by:	antoine
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D5997
2016-05-25 15:58:31 +00:00
Mathieu Arnold
6596903add A new stage-qa test has been added, it reports all shared libraries
dependencies that are not part of the port list of dependencies.  It help
finds what is called proxy dependencies.

A is needed by B, and B is needed by C.  If C also needs A, then it needs to
be registered, and this check will tell you to do so.

Right now, it is only reporting the problems, but if you add
PROXYDEPS_FATAL=yes to your environment, it will give an error and will force
you to fix the dependencies.

PR:		195203
Submitted by:	yuri rawbw com (earlier version)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6531
2016-05-25 11:59:39 +00:00
Mathieu Arnold
f69e8567aa Ease debugging of Mk/Scripts scripts.
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6474
2016-05-20 19:01:59 +00:00
Mathieu Arnold
88f3d729d2 Try to simplify how libperl.so is looked for.
PR:		209123
Submitted by:	mat
Exp-run by:	antoine
With hat:	perl@
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6107
2016-05-09 10:12:18 +00:00
Mathieu Arnold
b1fb5a15c1 Extract the users/groups creation into a separate shell script.
This adds a few features:
- it checks that the UID line has the right number of fields [1]
- it tells the user that there are groups that he may want to remove [2]

PR:		208800, 173318 [1], 157546 [2]
Submitted by:	mat
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D5939
2016-04-18 18:39:44 +00:00
Steve Wills
afac595132 exclude all gem stuff from path check 2016-01-21 16:18:42 +00:00
Raphael Kubo da Costa
b73fa50dbc smart_makepatch: Quote PATCH_WRKSRC when regenerating patches.
Put ${PATCH_WRSKRC} within quotes so that expanding it works properly when it
contains spaces. This is required for `make makepatch' to work with
audio/quimup or any other port that has WRKSRC with spaces. Before the patch:

  % make -dl makepatch
  cd: too many arguments
  cd: too many arguments

and the port would be left with an empty files/ directory.

Reviewed by:	marino
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D5011
2016-01-21 10:25:56 +00:00
Mathieu Arnold
c3c55bce6e Be consistent and always enclose shell variables inside braces.
Sponsored by:	Absolight
2016-01-18 16:16:43 +00:00
Mathieu Arnold
bbda11cd53 Rework the logic of the libperl detection, making it a bit more simple,
and also a bit more verbose.

With hat:	perl
Sponsored by:	Absolight
2016-01-18 16:16:39 +00:00
Antoine Brodin
2e5d78ca45 Do not advise to strip object files, it can be harmful
Reported by:	koobs
With hat:	portmgr
2015-12-25 23:22:47 +00:00
Antoine Brodin
c6ef4747ef Do not cache PYTHON_PORTVERSION, it is not invariant between ports 2015-12-25 21:55:34 +00:00
Olli Hauer
3ad4a7aca8 - add additional blank line, else the first line of the error message
is directly appended to the last line from the build output

deamon@ already fixed the typos in the error message (r404229)

PR:		203157
2015-12-23 11:49:08 +00:00
Dmitry Sivachenko
efa42a5fc4 Fix typo in message. 2015-12-22 12:56:28 +00:00
Bryan Drewery
baf3ba05d0 Use normal PORTSDIR rather than dp_PORTSDIR so it is passed around properly.
This fixes errors when PORTSDIR is not set and /usr/ports is not used.  The
/usr/share/bsd.port.mk logic will auto set PORTSDIR, but this was not being
passed into children in the dependency scripts.

With hat:	portmgr
Reported by:	bapt
2015-12-04 22:18:29 +00:00
John Marino
6819d5d636 Mk/Scripts/smart_makepatch.sh: Fix multi-patch file and locals bug
There were two issues with the new smart_makepatch script.

1) use of "local" declaration

All function variables were declared "local" during the review.  This
caused the script to break, at least on FreeBSD 9.2.  Given that it's
not being seen on 9.3R or later, it might be a bug in Bourne shell that
has since been fixed.

e.g. This resulted in stderr error on second iteration:
  local contains=$(grep "^+++ " ${existing_patch} | awk '{x++; print x}')

however, this works fine:
  local contains
  contains=$(grep "^+++ " ${existing_patch} | awk '{x++; print x}')

To be safe, all local variables are assigned with $(<shell cmd>) on
separate lines now.

2) The comment extraction was flawed for files that contain multiple
patches.  It was not counting the hunk lines properly which caused some
portion of a patch to be considered as a comment for the next patch.  The
hunk traversal algorithm has been fixed.

Since 1) involved the introduction of local declarations that broke the
script and since only Scripts/smart_makepatch.sh is touched, I will
piggy-back on the original approval.  The fix was tested with devel/nspr,
the port listed in the PR, which uses multi-patch files.

Approved by:		portmgr
Differential Revision:	D4136
PR:			204725
2015-11-22 09:18:07 +00:00
John Marino
6eff596ebc Enhance "make makepatch" to address two major deficiencies
This update to the "makepatch" target adds the following enhancements:

1) Conserves comments
   If the existing patch has comments, they will be transferred to the
   regenerated patch.

2) Supports multiple patches per file
   If the patch file contains concatenated patches, the makepatch
   target will keep these patches together.  It may change the order
   of the patches the first time, but every time after the multi-patch
   will be assembled in the same order.

Behavioral changes:

A) The "old" patches are not overwritten, but rather archived at:
   ${WRKDIR}/makepatch-tmp/archived-patches

B) Any patch that was not replaced or renamed is deleted by makepatch
   (but it is archived first, see paragraph above)

C) There regeneration messages for the user will show them which patches
   are using "legacy" names formats.

D) Makepatch will do a great job at "cleaning" git patches; it removes
   lines starting with "diff" and "index" in the comments section.

Notes:

E) Should a source file be modified by multiple patches (e.g. two separate
   multi-patches), a composite patch will be generated.  In the above
   example of two multi-patches, one would get the full patch and the
   other no longer patch the source file.

Approved by:		portmgr (mat)
Differential Revision:	D4136
2015-11-15 15:25:12 +00:00
Bryan Drewery
56bd3649b5 - Only consider missing dependency origins to be fatal if they were not
satisfied and needed to be installed.  This restores older behavior of
  allowing a partial checkout where dependencies are already installed. [1]
- Delay fatal errors show that all can be shown at once.

With hat:	portmgr
Reported by:	lev [1]
2015-11-13 18:00:34 +00:00
Bryan Drewery
ab43229f76 Fix partial tree checkouts with 'all-depends-list', 'make clean', etc, after
inclusion of the ports_env feature into that handling around r399791.

With hat:	portmgr
Reported by:	ian, lev
2015-11-09 18:52:19 +00:00
Bryan Drewery
d715852bba Don't hardcode CCACHE_DIR.
PR:		199509
Submitted by:	ngie (based on)
Sponsored by:	EMC / Isilon Storage Division
With hat:	portmgr
2015-11-06 20:18:35 +00:00
Bryan Drewery
95e25b27ad Avoid redundantly looking up python command executions for dependency calculation.
This gets all-depends-list in x11/kde4 down to 30 seconds after the 52->41
second improvement in r399703.

With hat:	portmgr
2015-10-19 21:10:56 +00:00
Bryan Drewery
ef91c74363 Avoid redundantly looking up perl version when looking up dependencies or in sub-makes.
With hat:	portmgr
2015-10-19 20:53:15 +00:00
Bryan Drewery
278dd71cd6 - Combine clean-depends-list.sh into depends-list.sh
- Refactor how depends-list.sh is called from bsd.port.mk for each variant.

With hat:	portmgr
2015-10-19 19:23:53 +00:00
Bryan Drewery
670c3111ae The command environment from r399703 is only needed if recursing.
With hat:	portmgr
2015-10-19 18:41:01 +00:00
Bryan Drewery
92b545ba81 When listing dependencies, export the common command execution results.
In some basic benchmarks this sped up 'all-depends-list' about 20%.  x11/kde4
went from 52 seconds to 41 seconds.  More improvement is expected once
more command executions are cached in the 'export_ports_env' function.

With hat:	portmgr
2015-10-19 18:01:56 +00:00
Bryan Drewery
34da0bbb9e Add some work-in-progress scripts for splitting symbols out into PREFIX/lib/debug.
This is only missing the bsd.port.mk pieces to hook it up fully.  A blocker
for hooking that up has been sub-packages, even though some implementation
could be made without them.  For now just commit what I have so it is not
forgotten.

Obtained from:	OneFS
Sponsored by:	EMC / Isilon Storage Division
With hat:	portmgr
2015-10-19 17:04:33 +00:00
Bryan Drewery
16f2336cda Switch strip test to using readelf(1) instead of file(1) to identify symbols.
This has been slightly faster in my tests since readelf(1) will fail on the
file much quicker if it doesn't find the ELF headers.  This also more directly
finds the symbol table.

With hat:	portmgr
2015-10-19 16:59:49 +00:00
Bryan Drewery
481f66bd21 Follow-up r399170 with a script, ports_env.sh, that can be used for the purpose.
This will allow Poudriere to know if it is possible to use the feature or not
by the existence of the file.

Also fix quoting issues.

With hat:	portmgr
2015-10-13 00:03:10 +00:00
Bryan Drewery
6221392fff Add a function to export vars that bsd.port.mk generates from fork/exec.
This will be useful in Poudriere to avoid needless fork/exec for every
port when gathering dependencies.

Example usage:

  MAKE=make sh -c '. Mk/Scripts/functions.sh; export_index_env; export PACKAGE_BUILDING=1; truss -f make -C sysutils/zfstools -V BUILD_DEPENDS 2>&1' | grep exec

This eliminates 14 exec/fork calls for this example, when PACKAGE_BUILDING
is also set during -V.

Care should be taken with UID not being passed down into actual builds as it
may conflict with non-root builds.

With hat:	portmgr
2015-10-12 23:41:36 +00:00
Dmitry Marakasov
7d137fe741 Use -r flag for read command, this fixes handling of paths containing
backslashes, and, in result, stage-qa for archivers/deco

Approved by:	portmgr (antoine)
Differential Revision:	D3862
2015-10-12 13:33:18 +00:00
Bryan Drewery
2ef20de270 Make missing argument less obscure.
With hat:	portmgr
2015-10-09 18:13:57 +00:00
Bryan Drewery
a1a7117c83 Shift any arguments eaten up from getopts. This script takes no arguments
yet.

With hat:	portmgr
2015-10-09 18:09:02 +00:00
Bryan Drewery
78aeec8db1 Unify depends-list.sh and all-depends-list.sh into one script, depends-list.sh.
With hat:	portmgr
2015-10-09 18:00:44 +00:00
Dmitry Marakasov
0521b2fe8e Add a way to cleanly handle terminfo.db file used by devel/ncurses
This database contains compiled terminfo entries and is merged from
a large part which comes with ncurses themselves and compiled
.terminfo files installed by other ports (currently only rxvt-unicode
and jfbterm)

- Now the database is always kept up to date, regardless of port
  installation order (both ncurses installed before .terminfo files
  and the other way around work as expected)
- All affected ports now support clean deinstallation and do not
  produce stage-qa errors
- Affected ports are simplified, as they now only need to define
  USES=terminfo
- rxvt-unicode no longer pulls in ncurses: the dependency is not
  really needed for anything beside updating it's own database
- The patch contains Q/A test to check whether a port needs, or
  needs not USES=terminfo

Approved by:	portmgr (mat, bapt)
Differential Revision:	D3747
2015-10-08 14:12:53 +00:00
Dmitry Marakasov
5c57225987 Implemented complete support for test target.
You can now `make test' on any port to run test sequence, no-op by default.
If a port defines TEST_TARGET, it'll run sub-make with specified target,
usually `check' or `test', useful if upstream supports that. The port may
instead define custom do-test target, as well as usual satellite targets:

  {pre,do,post}-test, {pre,do,post}-test-OPT, {pre,do,post}-test-OPT-off

`make test' builds and stages port first, so test may use both WRKDIR and
STAGEDIR, and both BUILD and RUN depends are available for test target.
Additionally, TEST_DEPENDS is now properly supported and may be used to
define additional depends specifically for testing.

Framework may define default tests for specific cases. For instance,
perl5.mk and cran.mk already provide default test target on their own.

This commit also converts my ports which have tests to this new framework.

Approved by:	portmgr (bapt)
Differential Revision:	D3680
2015-09-28 17:20:42 +00:00
Baptiste Daroussin
5adc8a9faa Extend @sample to accept arguments
Maintainers can now use @sample sample_file target_file for all cases
that does not fall into the usual @sample something.sample

Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3734
2015-09-26 12:13:23 +00:00
Baptiste Daroussin
8f2fe367d2 Fix error message when not finding a package 2015-09-02 21:23:47 +00:00
Antoine Brodin
cfff850167 Make baselibs QA check non recursive and activate it again
Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D3352
2015-08-10 17:06:50 +00:00
Baptiste Daroussin
f575dbf44e Disable baselibs check until it is made saner (aka non recursive) 2015-08-09 11:41:56 +00:00
Antoine Brodin
b11b1637e0 Fix a typo that made baselibs QA check run twice on some files
With hat:	portmgr
2015-08-09 10:10:03 +00:00
Fukang Chen
d5ee3ef661 checks $WRKSRC for all direct dependencies in the limited-clean-depends:
target, like the original CLEAN-DEPENDS-LIMITED in bsd.port.mk

Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D3233
2015-07-30 07:43:49 +00:00
Mathieu Arnold
f08b36d14d Split LIB_DEPENDS and the other _DEPENDS types.
Reviewed by:	bapt, pgolluci
Exp-run by:	mat
Approved by:	bapt
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3150
2015-07-24 10:11:18 +00:00
Baptiste Daroussin
7b41fe4853 Fix path of libedit 2015-07-19 22:19:37 +00:00
Baptiste Daroussin
81e9ad1fda Add a QA check on some base libraries (for now only libedit and libarchive) 2015-07-19 22:07:13 +00:00
Dmitry Marakasov
e42d0cc9db - Add /usr/sbin/dtrace to the list of allowed shebangs
Submitted by:	amdmi3
Approved by:	portmgr (bapt)
Differential Revision:	D3070
2015-07-14 20:36:01 +00:00
Ryan Steinmetz
041a8dd21d - Provide a check/warning/fix for users that upgraded from an older release and missed UPDATING 20150213
Approved by:	portmgr (bapt)
2015-07-07 06:03:35 +00:00
Baptiste Daroussin
0c54521b1a Rewite CLEAN-DEPENDS*
Move inlined shell code into a proper script taking 2 args in arguments: full or
limited. The code I more simpler and understandable. The argument allows to
factorize the code between CLEAN-DEPENDS-FULL and CLEAN-DEPENDS-LIST

While here, make the code accept dependencies without ${PORTSDIR}
2015-07-04 08:56:54 +00:00
Baptiste Daroussin
57e67943aa Fix missing variable that got accidentally removed before commit 2015-07-01 21:08:42 +00:00
Baptiste Daroussin
c389e6d809 Move all-depends-list to a regular script
The benefice beside being more readable is to allow support for dependency line
without ${PORTSDIR}

This is also necessary to be able to easily hack on it for FLAVORS/SUBPACKAGE
support
2015-07-01 20:27:19 +00:00
Baptiste Daroussin
65dcc9c127 Factorize the function to validate env
Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D2966
2015-07-01 20:08:26 +00:00
Steve Wills
ece696bef0 Remove disconnected script 2015-07-01 15:26:41 +00:00
Baptiste Daroussin
ab8c1339c4 Add PATH environment when trying to find libraries this fixes building under
qemu emulation

Reported by:	Sylvain Garrigues (via #poudriere)
Tested by:	Sylvain Garrigues (via #poudriere)
2015-06-30 19:54:23 +00:00
Baptiste Daroussin
a974ccd864 Refactor dependency checks and installation
This is an important step to prepare the ports tree for VARIANTS(aka flavours)
and subpackage by making the dependency code easier to deal with.

Change:
- Externalize in a proper shell script the code that was an inlined shell script
- Add better validation on the syntaxe used
- test after the dependency has been installed that it actually really fulfill
  the pattern searched (improving QA)
- Unify lib-depends with other dependency checks
- Make ${PORTSDIR} not mandatory anymore in _DEPENDS lines:
  aka pattern:${PORTSDIR}/category/port can now be written pattern:category/port
  /!\ Please to not use this syntax yet! poudriere have received a fix to be
  able to handle this new syntax (but no new release of poudriere has it yet)
  portmaster/portupgrade hasn't been checked. if one cares about those last 2 it
  would be really nice to provide patches to them!
- Remove _DEPENDS_ALWAYS it has half broken for a while and did not really make
  sense.
- Keep STRICT_DEPENDS for now it might not be necessary anymore given all the
  new checks added, but until someone confirms it is worth keeping it.

Note that all the env passed are prefixed by 'dp_' to avoid polluting children
make

Differential Revision:	https://reviews.freebsd.org/D2897
Reviewed by:	antoine
Exp-run by:	antoine
2015-06-28 18:50:37 +00:00
Dmitry Marakasov
103d62fa7a - Add blacklist of files which are not intended to be executed to shebang test
- Sort shebang list

Differential Revision:	D2670
Submitted by:	amdmi3
Approved by:	portmgr (bapt)
2015-06-04 11:37:13 +00:00
Dmitry Marakasov
d4848777d3 - Add ${PREFIX}/www to shebang check. We have many shebang problems which need to be discovered and fixed in www category.
Differential Revision:	D2580
Approved by:	portmgr (bapt)
2015-05-20 19:47:51 +00:00
Bryan Drewery
d200dc8283 Fix strip check to consider setuid binaries.
file(1) returns 'setuid' before the rest of the ELF output.

With hat:	portmgr
Sponsored by:	EMC / Isilon Storage Division
2015-04-30 02:44:30 +00:00
Tijl Coosemans
68edbeeaae - Display a stage-qa warning when ports use PREFIX/var instead of /var
- Add --localstatedir=/var to _LATE_CONFIGURE_ARGS (like --mandir) but not
  when CONFIGURE_ARGS already sets it.  (GNU configure scripts set it to
  PREFIX/var when PREFIX != /usr.)
- Add --localstatedir="${PREFIX}/var" to CONFIGURE_ARGS in some ports so
  they aren't affected by this change (for now at least).  This commit is
  meant to ensure that new ports don't make the same mistake.

- games/acm: the configure script in this port is very old; instead of
  patching it more, just replace GNU_CONFIGURE with HAS_CONFIGURE.
- irc/charybdis: it already used /var but adding --localstatedir=/var
  changed the behaviour of the configure script; adjust the port to this.

PR:		199506
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2015-04-20 19:06:29 +00:00
Antoine Brodin
a417c432e5 - Remove dead function from find-lib.sh
- Print a message if dependency registration on a package failed

With hat:	portmgr
2015-04-10 08:45:09 +00:00
Baptiste Daroussin
15da689cce Remove unintended change from r383627 2015-04-09 07:50:52 +00:00
Baptiste Daroussin
39cad29a6e Remove USE_GNUSTEP from bsd.port.mk 2015-04-09 07:49:34 +00:00
Baptiste Daroussin
a77d7def34 Stop trying to resolv symlinks when looking up for a shlib
file -L is resolving them properly and actual-package-depends.sh is also
correctly resolving them

Exp-run by:	antoine
2015-04-09 06:36:01 +00:00
Mark Felder
f582bb666a Speed up checking for stripped binaries
Skip ascii files. This significantly speeds up stage-qa on ports with a
considerable amount of text files being installed.

Differential Revision:	https://reviews.freebsd.org/D2121
Approved by:	bdrewery
2015-03-23 20:41:13 +00:00
Baptiste Daroussin
a5da770e67 Make fonts repecting XDG
Xorg is now looking in ${LOCALBASE}/share/fonts by default
Xorg now accepts symlinks in etc/X11/fontpath.d (as decribed in Xserver(1))
Large cleanup on lots of font ports
All fonts are now properly dynamically generating fonts.dir and fonts.scale
instead of sometime overwriting existing ones)
All fonts are generating fontconfig's cache
Improve consistency in fonts ports
2015-03-21 23:05:19 +00:00
Antoine Brodin
c977e8cc17 Remove a debug line from actual-package-depends
With hat:	portmgr
2015-03-11 22:08:31 +00:00
Baptiste Daroussin
90dc66b285 Rework dependency registration
Change the way the dependencies are registred so that now it follows the same
mechanism as when the *_DEPENDS making the dependency registration system ready
to allow multiple packages from the same origin such as flavours and subpackages

Also allowing to install twice the same port one built with python33 and the
other built with python27 for example.

PR:		19702
With help of:	antoine
Exp-run:	portmgr (antoine)
2015-02-09 17:16:43 +00:00
Bryan Drewery
531f0016ec Don't replace PREFIX anywhere in the plist line, only do it for the beginning.
With hat:	portmgr
Sponsored by:	EMC / Isilon Storage Division
2015-01-22 21:05:51 +00:00
Bryan Drewery
de0b44a025 - Move parse_plist() into a new file, functions.sh.
With hat:	portmgr
2015-01-08 04:04:55 +00:00
Bryan Drewery
50c51ed0af - Rework check on $makeplist in parse_plist(). The variable was/is always 0 as
the makeplist code does not use parse_plist(). Rename the param to
  'parse_comments' to be more clear on what it is for. This is kept for
  upcoming refactoring.

With hat:	portmgr
2015-01-08 03:55:00 +00:00
Bryan Drewery
58a64b69a3 Limit the scope of variables in parse_plist()
With hat:	portmgr
2015-01-08 03:37:20 +00:00
Baptiste Daroussin
fc3d3dcbe9 Remove now useless gnomehier, pkg handles automatically the directories where
needed making gnomehier entirely useless now.

Differential Revision:	https://reviews.freebsd.org/D1355
Reviewed by:	antoine, kwm
Approved by:	gnome (kwm)
2014-12-25 01:10:19 +00:00
Antoine Brodin
cf0b040a44 - Add three empty dirs that belonged to gnomehier to devel/gconf2,
this prevents stage violations during build of ports using gconftool-2
- White list etc/gconf/gconf.xml.defaults from stage orphans as gconftool-2
  is unpredictable

With hat:	portmgr
2014-12-23 13:47:10 +00:00
Mathieu Arnold
bc0be6ac56 Don't output a warning if PERL_ARCH does not exist.
With hat:	portmgr
Sponsored by:	Absolight
2014-12-23 00:27:18 +00:00