Commit graph

280 commits

Author SHA1 Message Date
Alessio Sergi
4e6576e7a4 xbps-src: add support for python3 pkgs
- python_module build style now builds modules for python2/3 by default
- new python2_module and python3_module build styles for building
  python2-only and python3-only packages respectively
- no more python_versions
- no need to define pycompile_version for Python modules anymore
  (still needed for non-Python modules though)
- Python version and paths are now guessed automatically and a set of
  useful variables can now be used in templates
- #!/usr/bin/python2 and #!/usr/bin/python3 are now the default shebangs
- /usr/bin/foo2 and /usr/bin/foo3 are now the default names for bin
  scripts (for use with alternatives)
2016-10-16 16:59:31 +02:00
Jürgen Buchmüller
9fbeba39f1 compiler wrapper: add ccache or distcc prefix (#4575)
Closes #4574
2016-08-08 08:37:06 +02:00
Christian Neukirchen
fb830a2a37 hooks/post-install/06-strip-and-debug-pkgs.sh: bail out on non-PIE binaries in PIE builds.
Not tested extensively, in doubt needs twerking.
2016-05-17 14:58:33 +02:00
Enno Boland
3db4efd013 hooks/pre-configure: do not set configure_script outside of build_style.
fixes #4201.
2016-05-16 20:38:09 +02:00
Juan RP
d2bac19750 xbps-src: re-introduce etc/virtual.
The `etc/virtual` file declares the default package to be built for
virtual dependencies declared as "virtual?foo" in $depends.

Before this change, the run-time dependency was added as is to the final
binary package but no pkg providing this virtual pkg was built.

With this file we declare the *default* pkg to be built.

NOTE: "virtual?foo" is only applicable to *run* time dependencies, i.e
only those declared in $depends.
2016-04-27 20:16:59 +02:00
Juan RP
054a73caf2 hooks/rewrite-python-shebang: simplify and check for unset $off correctly. 2016-04-17 17:13:06 +02:00
Enno Boland
c07e381f94 hooks/pre-pkg: fix "integer expression expected" error. 2016-04-01 08:08:52 +02:00
Enno Boland
05b15f6f4f common/hooks: look for pycompile_version to identify python version.
Also prepary python 3.5
2016-03-27 15:14:02 +02:00
Enno Boland
6606995831 common/hooks: fix python shebang rewrite for multi-versioned packages 2016-03-27 12:25:27 +02:00
Enno Boland
4714ce6dcd hooks/post-install: fix python shebang rewriting. 2016-03-25 19:13:06 +01:00
Enno Boland
eb2621ca46 hooks/post-install/07-rewrite-python-shebang.sh: use IFS and -r for read.
cc @chneukirchen
2016-03-22 09:03:11 +01:00
Enno Boland
830ca26644 hooks/post-install: add hook to rewrite unversioned python shebangs. 2016-03-21 20:48:12 +01:00
Jürgen Buchmüller
c459dade15 gcc: add support for SOURCE_DATE_EPOCH environment
+ Create symlinks from gcc/patches/libcpp-source_date_epoch.patch to cross-*/files/
+ Make all the _apply_patch() functions the same
2016-03-08 13:49:52 +01:00
Christian Neukirchen
a3a0303673 common/hooks/pre-pkg/05-prepare-32bit.sh: create needed subdirectories for lib32symlinks. 2016-03-07 18:42:34 +01:00
Jürgen Buchmüller
8d7c58ef9e cleanup-timestamp-macros: catch more mime-types 2016-03-07 16:10:55 +01:00
Jürgen Buchmüller
8ce51e70cf timestamp-macros: fix creation and add cleanup
As described in #3765
2016-03-07 09:46:34 +01:00
Enno Boland
b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland
3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Enno Boland
3b8c53d702 hooks/pre-pkg: do not dereference symbolic links while rewriting mtimes. 2016-02-23 08:25:29 +01:00
Enno Boland
c83a4d96c4 hooks/pre-pkg: mtime rewriting is default on now. 2016-02-23 08:05:43 +01:00
Enno Boland
16050ad3f2 hooks/pre-pkg: fixed mtime support for packages.
overwrites the mtime of all files in a package with the commit-date
of the package.
2016-02-19 16:21:56 +01:00
Christian Neukirchen
150c0b11b3 hooks/pre-configure/00-gnu-configure-asneeded.sh: don't error on $configure_script with spaces. 2016-02-05 12:10:46 +01:00
Juan RP
aafe90e3c4 xbps-src/hooks: create a giblib-config wrapper for cross.
Required by scrot and probably others (#3464).
2016-01-26 07:46:00 +01:00
Enno Boland
d8f7d1a8d6 common/hooks/pre-configure: fix script wrapper pkgconfig paths. 2016-01-21 00:07:05 +01:00
Juan RP
c23daff127 xbps-src: handle .7z distfiles via 7z. 2016-01-11 11:02:44 +01:00
Juan RP
c373ae50d4 xbps-src: get rid of 'broken_as_needed'; not used anymore. 2015-11-28 09:24:01 +01:00
mid-kid
f68bfd6575 common/hooks: Fix hooks when build_style=meta 2015-11-26 22:27:55 +01:00
Enno Boland
82b736b616 common: expand_destdir rewrite 2015-11-18 11:19:09 +01:00
Enno Boland
18e288fd2c common: remove unneccessary 'source's; move extglob.sh to install 2015-11-18 10:21:33 +01:00
Enno Boland
ef24b7b7cc common: move expand_destdir to environment/pkg; change lint check. 2015-11-18 10:21:33 +01:00
Enno Boland
67757b5708 hooks/do-pkg/00-gen-pkg.sh: enable globbing for conf_files. 2015-11-18 10:21:33 +01:00
Enno Boland
f19bca3bce hooks/do-pkg: clean up 00-gen-pkg.sh 2015-11-18 10:21:33 +01:00
Jürgen Buchmüller
05c7da7955 Merge pull request #2908 from pullmoll/fetch
00-distfiles.sh: avoid unnecessary second loop
2015-11-15 02:54:55 +01:00
Juan RP
33e3afecf9 xbps-src: do not allow empty PKGDESTDIR unless build_style!=meta. 2015-11-13 13:05:36 +01:00
Juan RP
62de168b40 xbps-src: fix xbps-create(1) --tags option. 2015-11-10 11:33:19 +01:00
Jürgen Buchmüller
d7b1a31cf0 00-distfiles.sh: avoid unnecessary second loop
We're already done after the first loop, if all distfiles
were found and their checksums verified ok.
2015-11-05 22:05:25 +01:00
Jürgen Buchmüller
d8eca52226 00-distfiles.sh: add code to purge wrong checksum
If a distfile changed its checksum (SHA256) without at the same time
also changing its version, the distfile cache needs to be purged.

This is done by verifying only for already existing distfiles that the
specified checksum matches. If it does not, the file and its entry in
/host/sourcers/by_sha256 are purged using the inode number of the file.

The second loop then as usual fetches the distfiles and verifies their
checksum against the list entry.

+ drbd-utils fix checksum and also build + cross build
2015-11-03 19:27:07 +01:00
Juan RP
3e1154266f xbps-src: support "alternatives" from xbps-0.48. 2015-10-30 12:39:59 +01:00
Juan RP
bd165ccdf6 wrappers: rename cc to cross-cc to clarify it's used only in cross mode. 2015-10-25 11:03:16 +01:00
Alessio Sergi
55768ad59d xbps-src: distfiles: allow uncompressed distfiles
Do not extract them, just copy to $extractdir.
The allowed suffixes are: .patch, .diff, .txt.
2015-10-23 20:09:31 +02:00
Juan RP
b7d05057f9 xbps-src: create a cc/g++ wrapper to drop -I/usr/include -L/usr/lib in cross.
I'm tired of wasting extra time to fix software to remove standard include/lib dirs.
2015-10-23 11:56:30 +02:00
Enno Boland
66cdb281f1 hooks/pre-configure: don't overwrite PKG_CONFIG_* vars in the wrapper.
This may have side effects do other packages but it was needed to fix
gnome-online-accounts for cross build. goa ships a subproject that uses
this vars to link against it. This commit changes the pkg-config that it
preserves values in PKG_CONFIG_* if set.
2015-10-13 15:01:32 +02:00
Christian Neukirchen
e3f0ce021e pre-pkg/06-shlib-provides.sh: revamp soname registration.
We now register all versioned sonames, and unversioned sonames only
when in libdir.  (E.g. libdb and tcl use version numbers in the
library name, and have unversioned sonames.)

Closes #2699.
2015-10-06 20:17:28 +02:00
Christian Neukirchen
085f6452ad pre-pkg/06-shlib-provides.sh: shlib-provide all versioned libraries
Previously we provided all libraries in /usr/lib{,32}.
Now we provide all libraries with a versioned SONAME anywhere.
2015-10-05 14:46:32 +02:00
Juan RP
bcdacb66a0 xbps-src: replace basename(1) with ${var##*/}.
Reduce number of fork+exec due to using a subshell to execute basename(1).
2015-09-11 07:55:40 +02:00
Juan RP
955d7ce232 hooks/do-pkg/gen-pkg: don't set unnecessary args to xbps-create(1). 2015-09-10 20:07:13 +02:00
Jürgen Buchmüller
00c18e3e88 distfiles mirror: try $curfile first (renamed) 2015-09-04 17:13:31 +02:00
Juan RP
983d68a31e xbps-src: support multiple pkg compression formats via etc/conf.
XBPS_PKG_COMPTYPE can be set via etc/conf to set your preferred compression
format; defaults to xz, like xbps-create(1).

The "none" setting is only available since 0.48 (unreleased).
2015-09-03 12:44:08 +02:00
Jürgen Buchmüller
793a156a0f Implement XBPS_DISTFILES_MIRROR (second try)
The idea is to remove some burden from the original download
locations for distfiles by specifying one or more mirror locations.

+ Works with http:// or ftp:// mirrors for all $XBPS_CHROOT_CMD variants
+ Works with file:// mirrors together with uchroot and proot
2015-08-31 15:48:22 +02:00
Enno Boland
a22b793e90 common/hooks: show msg for patching before applying the patch.
failing patches can easier be identified that way.
2015-08-02 10:54:59 +02:00