Merge pull request #318999 from Mic92/ffado-staging

[staging] ffado: reformat and fixup installation locations
This commit is contained in:
Artturin
2024-06-22 02:06:38 +03:00
committed by GitHub
2 changed files with 83 additions and 32 deletions
+37 -24
View File
@@ -1,32 +1,44 @@
{ lib
, stdenv
, mkDerivation
, argp-standalone
, dbus
, dbus_cplusplus
, desktop-file-utils
, fetchurl
, fetchpatch
, glibmm
, libavc1394
, libconfig
, libiec61883
, libraw1394
, libxmlxx3
, pkg-config
, python3
, scons
, which
, wrapQtAppsHook
{
lib,
stdenv,
mkDerivation,
argp-standalone,
dbus,
dbus_cplusplus,
desktop-file-utils,
fetchurl,
fetchpatch,
glibmm,
libavc1394,
libconfig,
libiec61883,
libraw1394,
libxmlxx3,
pkg-config,
python3,
scons,
which,
wrapQtAppsHook,
}:
let
python = python3.withPackages (pkgs: with pkgs; [ pyqt5 dbus-python ]);
python = python3.withPackages (
pkgs: with pkgs; [
pyqt5
dbus-python
]
);
in
mkDerivation rec {
pname = "ffado";
version = "2.4.8";
outputs = [
"out"
"bin"
"dev"
];
src = fetchurl {
url = "http://www.ffado.org/files/libffado-${version}.tgz";
hash = "sha256-0iFXYyGctOoHCdc232Ud80/wV81tiS7ItiS0uLKyq2Y=";
@@ -49,8 +61,6 @@ mkDerivation rec {
})
];
outputs = [ "out" "bin" "dev" ];
nativeBuildInputs = [
desktop-file-utils
scons
@@ -114,7 +124,10 @@ mkDerivation rec {
homepage = "http://www.ffado.org";
description = "FireWire audio drivers";
license = licenses.gpl3;
maintainers = with maintainers; [ goibhniu michojel ];
maintainers = with maintainers; [
goibhniu
michojel
];
platforms = platforms.linux;
};
}
+46 -8
View File
@@ -1,9 +1,14 @@
From b0f2b20b23780dd2e67a01c15462070dd86c4ac1 Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Sun, 3 Mar 2019 11:50:27 +0100
Subject: [PATCH] Fix build on Nix
Subject: [PATCH] build: Add datadir option for /usr/share
We do not have global /usr.
Hardcoded /usr/share does not work for platforms that do not have global /usr like Nix.
Lets introduce a new DATADIR option, that allows overriding the directory and use it for metainfodir.
While at it, lets also use it for SHAREDIR and MANDIR for consistency,
following the GNU directory convention:
https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
---
SConstruct | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -12,15 +17,48 @@ diff --git a/SConstruct b/SConstruct
index 05755e4b..3fbdc1d8 100644
--- a/SConstruct
+++ b/SConstruct
@@ -537,7 +537,7 @@ env['mandir'] = Template( env.destdir + env['MANDIR'] ).safe_substitute( env )
@@ -49,9 +49,10 @@
PathVariable( "BINDIR", "Overwrite the directory where apps are installed to.", "$PREFIX/bin", PathVariable.PathAccept ),
PathVariable( "LIBDIR", "Overwrite the directory where libs are installed to.", "$PREFIX/lib", PathVariable.PathAccept ),
PathVariable( "INCLUDEDIR", "Overwrite the directory where headers are installed to.", "$PREFIX/include", PathVariable.PathAccept ),
- PathVariable( "SHAREDIR", "Overwrite the directory where misc shared files are installed to.", "$PREFIX/share/libffado", PathVariable.PathAccept ),
+ PathVariable( "DATADIR", "Overwrite the directory where platform-independent files are installed to.", "$PREFIX/share", PathVariable.PathAccept ),
+ PathVariable( "SHAREDIR", "Overwrite the directory where misc shared files are installed to.", "$DATADIR/libffado", PathVariable.PathAccept ),
PathVariable( "LIBDATADIR", "Location for architecture-dependent data.", "$LIBDIR/libffado", PathVariable.PathAccept ),
- PathVariable( "MANDIR", "Overwrite the directory where manpages are installed", "$PREFIX/man", PathVariable.PathAccept ),
+ PathVariable( "MANDIR", "Overwrite the directory where manpages are installed", "$DATADIR/man", PathVariable.PathAccept ),
PathVariable( "PYPKGDIR", "The directory where the python modules get installed.",
distutils.sysconfig.get_python_lib( prefix="$PREFIX" ), PathVariable.PathAccept ),
PathVariable( "UDEVDIR", "Overwrite the directory where udev rules are installed to.", "/lib/udev/rules.d/", PathVariable.PathAccept ),
@@ -523,6 +524,7 @@
env['BINDIR'] = Template( env['BINDIR'] ).safe_substitute( env )
env['LIBDIR'] = Template( env['LIBDIR'] ).safe_substitute( env )
env['INCLUDEDIR'] = Template( env['INCLUDEDIR'] ).safe_substitute( env )
+env['DATADIR'] = Template( env['DATADIR'] ).safe_substitute( env )
env['SHAREDIR'] = Template( env['SHAREDIR'] ).safe_substitute( env )
env['LIBDATADIR'] = Template( env['LIBDATADIR'] ).safe_substitute( env )
env['UDEVDIR'] = Template( env['UDEVDIR'] ).safe_substitute( env )
@@ -531,18 +533,21 @@
env['bindir'] = Template( env.destdir + env['BINDIR'] ).safe_substitute( env )
env['libdir'] = Template( env.destdir + env['LIBDIR'] ).safe_substitute( env )
env['includedir'] = Template( env.destdir + env['INCLUDEDIR'] ).safe_substitute( env )
+env['datadir'] = Template( env.destdir + env['DATADIR'] ).safe_substitute( env )
env['sharedir'] = Template( env.destdir + env['SHAREDIR'] ).safe_substitute( env )
env['libdatadir'] = Template( env.destdir + env['LIBDATADIR'] ).safe_substitute( env )
env['mandir'] = Template( env.destdir + env['MANDIR'] ).safe_substitute( env )
env['pypkgdir'] = Template( env.destdir + env['PYPKGDIR'] ).safe_substitute( env )
env['udevdir'] = Template( env.destdir + env['UDEVDIR'] ).safe_substitute( env )
env['PYPKGDIR'] = Template( env['PYPKGDIR'] ).safe_substitute( env )
-env['metainfodir'] = Template( env.destdir + "/usr/share/metainfo" ).safe_substitute( env )
+env['metainfodir'] = Template( env.destdir + env['SHAREDIR'] + "/metainfo" ).safe_substitute( env )
-
+env['metainfodir'] = Template( env.destdir + env['DATADIR'] + "/metainfo" ).safe_substitute( env )
+
+env.Command( target=env['datadir'], source="", action=Mkdir( env['datadir'] ) )
env.Command( target=env['sharedir'], source="", action=Mkdir( env['sharedir'] ) )
--
2.19.2
env.Alias( "install", env['libdir'] )
env.Alias( "install", env['includedir'] )
+env.Alias( "install", env['datadir'] )
env.Alias( "install", env['sharedir'] )
env.Alias( "install", env['libdatadir'] )
env.Alias( "install", env['bindir'] )